我开发了一个客户端应用程序,使用简单的API通过HTTP与Python 2服务器通信。服务器使用SQLAlchemy的ORM广泛为这些HTTP请求提供数据。问题是,即使只有少数活动客户端,我的CPU使用率也非常高。这个服务器应该能够同时为几百个客户端提供服务,每个客户端每秒大约1个请求,所以它应该仍然可以管理(或者我希望如此)。
如何提高性能?我知道问题在于ORM,因为cProfile很清楚地显示了这一点。单个查询显然执行了大约10000个Python指令,这似乎非常奇怪。我尝试插入不同的数据库引擎/后端,并为了好玩而更改解释器为Pypy,但这显然没有帮助原始问题,也没有提高性能。
我做错了什么?我真的希望这是一个“嗯,傻瓜!”的问题。
我的关系应该是不同类型的关系吗?急切的、懒惰的、动态的等等?现在,我没有特别指定任何内容。
非常感谢您的帮助。
如何提高性能?我知道问题在于ORM,因为cProfile很清楚地显示了这一点。单个查询显然执行了大约10000个Python指令,这似乎非常奇怪。我尝试插入不同的数据库引擎/后端,并为了好玩而更改解释器为Pypy,但这显然没有帮助原始问题,也没有提高性能。
我做错了什么?我真的希望这是一个“嗯,傻瓜!”的问题。
我的关系应该是不同类型的关系吗?急切的、懒惰的、动态的等等?现在,我没有特别指定任何内容。
非常感谢您的帮助。