2011-11-09 64 views
5

我在AWS上使用基於cherrypy的服務器來處理一些REST API調用。但是,在部署服務器和一些嚴重的流量(8小時內約20萬次請求)後,服務器停止運行。錯誤日誌只顯示一種類型的錯誤。Cherrypy服務器結束了太多的請求

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無法縮放?

+0

它可以是兩者。你的代碼是做什麼的?你是否手動關閉所有打開的文件對象,或者你是否依靠Pythons垃圾回收? – Fabian

+0

我們依靠python。 – Codevalley

回答

2

聽起來像你積攢了超過操作系統配置允許的連接數。嘗試檢查ulimit -n,如果可以的話,增加它。