2011-11-09 9 views
5

मैं कुछ आरईएसटी एपीआई कॉलों को संभालने के लिए एडब्ल्यूएस पर एक चेरीपी आधारित सर्वर का उपयोग कर रहा था। लेकिन सर्वर को तैनात करने और कुछ गंभीर यातायात के साथ (8hours के भीतर लगभग 200,000 अनुरोध) सर्वर घायल हो गया। त्रुटि लॉग केवल एक प्रकार की त्रुटि दिखाता है।चेरीपी सर्वर बहुत से अनुरोधों पर घुमा रहा है

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

यह दोनों हो सकता है। आपका कोड क्या करता है? क्या आप सभी खुले फ़ाइल ऑब्जेक्ट्स मैन्युअल रूप से बंद करते हैं या आप पाइथन कचरा संग्रह पर भरोसा करते हैं? – Fabian

+0

हम अजगर पर भरोसा करते हैं। – Codevalley

उत्तर

2

लगता है जैसे ऑपरेटिंग सिस्टम की अनुमति देने के लिए आपको अधिक कनेक्शन बैकलॉग किया गया था। ulimit -n जांचने का प्रयास करें और यदि आप कर सकते हैं तो इसे बढ़ाएं।

संबंधित मुद्दे