2012-11-12 27 views
5

मेरे पास लिनक्स होस्ट पर चल रहा एक http सर्वर प्रोग्राम है जो बी पोर्ट को सुनता है और अनुरोधों का उपभोग करता है। मैं इस http सर्वर पर भारी लोड (> प्रति सेकंड 10k अनुरोध) उत्पन्न करने की कोशिश कर रहा हूं। इस उद्देश्य के लिए, मैंने एक http क्लाइंट प्रोग्राम लिखा है जो मेजबान एक्या मैं एक क्लाइंट मशीन से भारी http लोड अनुकरण कर सकता हूं

से बार-बार एक निश्चित आकार अनुरोध पोस्ट करेगा, यदि मैं होस्ट ए पर httpclient प्रोग्राम के कई उदाहरण चलाता हूं तो प्रभाव क्या है। क्या वह पर्याप्त भार उत्पन्न करता है। या क्या इस पर एक सीमा है कि मैं एक सर्वर से कितने http क्लाइंट चला सकता हूं जो एक सर्वर-पोर्ट से बात कर रहा है।

मेरा अवलोकन अब तक की संख्या में वृद्धि कर रहा है, वास्तव में पर्याप्त भार उत्पन्न नहीं करता है या http सर्वर प्रोग्राम/ओएस स्वीकार नहीं कर रहा है। और मुझे लगता है कि सीपीयू/मेमोरी/नेटवर्क खपत बहुत कम है।

कोई भी विचार? मैं बाधा को कैसे माप सकता हूं?

+0

मैं ग्राहक प्रति अनुरोधों की संख्या के लिए किसी भी हार्ड-कोडेड सीमा नहीं है नहीं लगता है के साथ काम करने (सिवाय आप 65k पर बंदरगाहों से बाहर चलाने) –

उत्तर

8

अपने वेबसर्वर को बेंचमार्क करने के लिए अपाचे एबी आज़माएं। यह समवर्ती http अनुरोधों को बहुत कुशलता से उत्पन्न करता है और इस उद्देश्य के लिए एक डिफैक्टो मानक है।

अब साथ आप आसानी से उच्च लोड में एक यूआरएल पर परिणाम

http://httpd.apache.org/docs/2.2/programs/ab.html

$ ab -n 1000 -c 5 

1000 कुल, 5 समवर्ती अनुरोध बनाता है बना सकते हैं और विश्लेषण कर सकते हैं। अच्छा ट्यूटोरियल कैसे अब http://www.cyberciti.biz/tips/howto-performance-benchmarks-a-web-server.html

+0

धन्यवाद मिशेल। इससे वास्तव में मुझे वह भार उत्पन्न करने में मदद मिली जो मैं चाहता था। Http क्लाइंट मैं डेंट स्केल का उपयोग कर रहा था इसलिए यह पर्याप्त भार उत्पन्न नहीं कर रहा था। – techuser