Cherrypy服务器处理请求过多的问题

5 投票
1 回答
1458 浏览
提问于 2025-04-17 05:55

我在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在请求太多时无法扩展,还是代码本身有什么问题呢?

1 个回答

3

听起来你积累的连接数超过了操作系统允许的最大值。你可以试着检查一下 ulimit -n 的设置,如果可以的话,增加这个值。

撰写回答