在openshift上的mod_wsgi上缓慢烧瓶

时间:2013-01-29 20:35:07

标签: python flask mod-wsgi openshift

我在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

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

2 个答案:

答案 0 :(得分:0)

Exception KeyError是由gevent造成的,我想,应该是更多代码问题:)要避免它导入gevent之前。
server reached MaxClients setting似乎是Apache错误,应该使用日志和设置MaxClients和ServerLimt进行调查。

答案 1 :(得分:0)

KeyError通常是因为您使用的是旧版本的mod_wsgi。使用mod_wsgi 3.3或更高版本,它具有更改以适应在Python中进行的更改,从而导致此更改。