【发布时间】:2012-04-03 18:53:08
【问题描述】:
我制作了一个客户端应用程序,该应用程序使用 HTTP 与 Python 2 服务器进行通信,并使用一个简单的 API。服务器广泛使用 SQLAlchemy 的 ORM 来为这些 HTTP 请求提供数据。问题是我的 CPU 使用率很高,即使只有很少的活动客户端。该服务器应该能够同时为数百个客户端提供服务,每个客户端每秒大约 1 个请求,因此它应该仍然是可管理的(或者我希望如此)。
如何提高性能?我知道问题出在 ORM 上,因为 cProfile 非常清楚地显示了这一点。一个查询显然执行了大约 10000 条 Python 指令,这看起来很奇怪。我尝试插入不同的数据库引擎/后端并将解释器更改为 Pypy 只是为了好玩,但它显然没有解决原始问题,也没有提高性能。
我在这里做错了什么?我真的希望这是一个“嗯,呃!”问题。
我的人际关系应该属于不同的类型吗?渴望,懒惰,动态等?目前,我没有具体说明任何内容。
非常感谢您的帮助。
【问题讨论】:
-
看看我的回答stackoverflow.com/questions/1171166/… 一些地方开始
标签: python sql sqlalchemy