2011-11-09 11 views
5

Stavo usando un server basato su cherrypy su AWS per gestire alcune chiamate API REST. Ma sulla distribuzione del server e con un traffico serio (circa 200.000 richieste entro 8 ore) il server si è concluso. Il registro degli errori mostra solo un tipo di errore.Il server Cherrypy si chiude su troppe richieste

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 

È questo perché cherrypy non possono scalare se ci sono troppe richieste, o è qualcosa di sbagliato nel codice?

+0

Può essere entrambi. Cosa fa il tuo codice? Chiudi manualmente tutti gli oggetti file aperti o ti affidi alla garbage collection Pythons? – Fabian

+0

Ci affidiamo a Python. – Codevalley

risposta

2

Sembra che tu abbia eseguito il backlog di più connessioni rispetto al sistema operativo configurato per consentire. Prova a controllare ulimit -n e aumentalo se puoi.