0

我在 openshift 上的 Flask 应用程序存在一些性能问题。
需要从数据库中获取一些图像并将它们显示在网页上。为此,我创建了一个简单的方法:

@app.route('/getImage/')
def getImageFromUrl(url=None):
    return make_response(getImageFromDb(request.args['url']));

每页最多有 10 张图片。问题是这很慢……非常慢。
在我的本地机器上,从 app.run() 开始(即使在调试模式下)它非常快,所以我认为 mod_wsgi 中有一些东西。
日志文件中也有这些错误消息:

Exception KeyError: KeyError(140116433057760,) in <module 'threading' from '/usr/lib64/python2.6/threading.pyc'> ignored

 [error] server reached MaxClients setting, consider raising the MaxClients setting

发生了什么,我应该怎么做才能加快速度?

4

2 回答 2

0

Exception KeyError我猜是由 gevent 引起的,应该是更多的代码有问题:) 为了避免它首先导入gevent
server reached MaxClients setting似乎是 Apache 错误,应该使用日志和设置 MaxClients 和 ServerLimt 进行调查。

于 2013-03-14T05:51:40.060 回答
0

KeyError 通常是因为您使用的是旧版本的 mod_wsgi。使用 mod_wsgi 3.3 或更高版本,该版本进行了更改以适应导致此问题的 Python 中所做的更改。

于 2013-03-17T16:30:11.577 回答