【发布时间】:2011-11-09 23:00:41
【问题描述】:
我在 AWS 上使用基于 cherrypy 的服务器来处理一些 REST API 调用。但是在部署服务器并遇到一些严重的流量(8 小时内大约有 200,000 个请求)时,服务器结束了。错误日志只显示一种类型的错误。
ENGINE Error in HTTPServer.tick
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/CherryPy-3.2.2-py2.7.egg/cherrypy/wsgiserver/wsgiserver2.py", line 1837, in start
File "/usr/local/lib/python2.7/dist-packages/CherryPy-3.2.2-py2.7.egg/cherrypy/wsgiserver/wsgiserver2.py", line 1887, in tick
File "/usr/lib/python2.7/socket.py", line 202, in accept
error: [Errno 24] Too many open files
这是因为如果请求太多,cherrypy 无法扩展,还是代码有问题?
【问题讨论】:
-
两者都可以。你的代码是做什么的?你是手动关闭所有打开的文件对象还是依赖 Python 的垃圾回收?
标签: python rest amazon-ec2 amazon-web-services cherrypy