Cherrypy服务器处理过多请求而崩溃

5

我在AWS上使用基于CherryPy的服务器处理一些REST API调用。但是在部署服务器并有一些严重的流量(约8小时内大约20万个请求)后,服务器崩溃了。错误日志只显示一种类型的错误。

 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的垃圾回收机制? - Fabian
1个回答

3
听起来你积压的连接比操作系统允许的要多。如果可以的话,请尝试检查ulimit -n并将其增加。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接