2011-11-09 12 views
5

Bazı REST API çağrılarını işlemek için AWS'de cherrypy tabanlı bir sunucu kullanıyordum. Ancak sunucuyu dağıtmak ve bazı ciddi trafik (8 saat içinde yaklaşık 200.000 istek) sunucu yaralandı. Hata günlüğü yalnızca bir hata tipini gösterir.Kirazlı sunucu çok fazla istekte dolanıyor

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 

Bu, çok fazla istek olduğunda cherrypy ölçeklenemediğinden mi, yoksa kodda yanlış bir şey mi var?

+0

Her ikisi de olabilir. Kodunuz ne yapıyor? Açılan tüm dosya nesnelerini elle kapatır mısınız yoksa Pythons çöp toplama sistemine güvenir misiniz? – Fabian

+0

Python'a güveniyoruz. – Codevalley

cevap

2

İşletim sisteminin izin verilecek şekilde yapılandırıldığından daha fazla bağlantıyı engellediğiniz gibi görünüyor. ulimit -n'u kontrol etmeyi ve yapabiliyorsanız bunu artırmayı deneyin.