2011-10-05 8 views
12

बेंचमार्क प्रलेखन का कहना है कि समेकन यह है कि अनुरोध कितने अनुरोध किए जाते हैं, जबकि अनुरोधों की संख्या अनुरोधों की कुल संख्या है। मैं क्या सोच रहा हूं, अगर मैंने 20 के समवर्ती स्तर पर 100 अनुरोध किए हैं, तो क्या इसका मतलब है कि एक ही समय में 20 अनुरोधों के 5 परीक्षण, या 20 अनुरोधों के 100 परीक्षण एक ही समय में हैं? मैं दूसरा विकल्प यह सोचते हैं रहा हूँ, क्योंकि नीचे उद्धृत उदाहरण नंबरों की ..अपाचे बेंचमार्क - समेकन और अनुरोधों की संख्या

मैं क्योंकि मैं अक्सर परिणाम देखने सोच रहा हूँ इस तरह के कुछ परीक्षण ब्लॉग पर इस एक के रूप में:

Complete requests: 1000000 
Failed requests: 2617614 

यह अकल्पनीय लगता है, चूंकि असफल अनुरोधों की संख्या कुल अनुरोधों की संख्या से अधिक है।

संपादित करें: साइट है कि ऊपर उल्लिखित संख्या प्रदर्शित करता है: http://zgadzaj.com/benchmarking-nodejs-basic-performance-tests-against-apache-php

या यह हो सकता है कि यह जब तक यह एक लाख सफलताओं तक पहुँच जाता है की कोशिश कर रखता है? एचएम ...

उत्तर

32

इसका मतलब है कि 100 अनुरोधों के साथ एक ही परीक्षा है, हर समय 20 अनुरोध खुले रहते हैं। मुझे लगता है कि आपके पास गलत धारणा है कि अनुरोध सभी एक ही समय लेते हैं, जो वास्तव में कभी भी मामला नहीं है। 20 के बैचों में अनुरोध जारी करने के बजाय, अब 20 अनुरोधों के साथ शुरू होता है और प्रत्येक बार एक मौजूदा अनुरोध समाप्त होने पर एक नया मुद्दा जारी करता है।

उदाहरण के लिए, ab -n 10 -c 3 साथ परीक्षण समवर्ती अनुरोध with3 शुरू होगा:

[1, 2, 3] 

के 2 खत्म पहले # मान लीजिए, अब एक चौथाई के साथ यह बदल देता है:

[1, 4, 3] 

... तो # 1 समाप्त हो सकता है, पांचवें स्थान:

[5, 4, 3] 

... फिर # 3 समाप्त:

[5, 4, 6] 

... और इसी तरह, अनुरोध के कुल 10 अनुरोध किए जाने तक। (अनुरोध 8, 9, और 10 पूर्ण के रूप में, पाठ्यक्रम के 0 तक समेकन पत्र।)

समझ में आता है?

कुल प्रश्नों की तुलना में अधिक विफलताओं के साथ परिणाम क्यों देखते हैं, इस बारे में आपके प्रश्न के अनुसार ... मुझे इसका उत्तर पता नहीं है। मैं नहीं कह सकता कि मैंने इसे देखा है। क्या आप लिंक या टेस्ट केस पोस्ट कर सकते हैं जो इसे दिखाते हैं?

अद्यतन: the source को देख में, अब त्रुटियों के चार प्रकार जो विवरण नीचे दिया गया पटरियों "विफल अनुरोध: ..." पंक्ति:

  • कनेक्ट - (स्रोत में err_conn) बढ़ी हुईं जब अब विफल रहता है HTTP कनेक्शन
  • प्राप्त स्थापित करने के लिए - (स्रोत में err_recv) बढ़ी हुईं जब अब विफल रहता है कनेक्शन का एक पढ़ने में विफल रहता है
  • लंबाई - (स्रोत में err_length) बढ़ी हुईं जब प्रतिक्रिया लंबाई पहले अच्छा की लंबाई से अलग है resp ऑनसे प्राप्त
  • अपवाद - (? जैसे कनेक्शन सर्वर द्वारा मार दिया जाता) (स्रोत में err_except) बढ़ी हुईं, जबकि मतदान कनेक्शन सॉकेट जब अब एक त्रुटि देखता

तर्क जब चारों ओर इन पाए जाते हैं और वे कैसे गिने जाते हैं (और कैसे कुल bad गिनती ट्रैक की जाती है) आवश्यकता है, थोड़ा जटिल है। ऐसा लगता है कि एबी के वर्तमान संस्करण को प्रति अनुरोध केवल एक बार विफलता की गणना करनी चाहिए, लेकिन शायद उस लेख का लेखक एक पूर्व संस्करण का उपयोग कर रहा था जो कि किसी एक से अधिक की गणना कर रहा था? यह मेरा सबसे अच्छा अनुमान है।

यदि आप व्यवहार को पुन: उत्पन्न करने में सक्षम हैं, तो निश्चित रूप से file a bug

+0

सहमति पर स्पष्टीकरण के लिए धन्यवाद। जिस लिंक को मैंने उन परिणामों को देखा वह मूल प्रश्न में है, मुझे उम्मीद है कि यह उदाहरण पर्याप्त है। किसी भी मामले में मैं कल काम पर परीक्षण दोहराने की कोशिश करूंगा और यदि मेरे पास कुछ भी है तो वापस पोस्ट करें। – Swader

+0

यह बढ़िया है, धन्यवाद! – Swader

0

मुझे कुछ भी गलत नहीं लगता है। असफल अनुरोध प्रत्येक एक से अधिक त्रुटि में वृद्धि कर सकते हैं। इस प्रकार ab काम करता है।

निश्चित लंबाई के विभिन्न स्थाई रूप से घोषित बफर हैं। कमांड लाइन तर्कों के आलसी पार्सिंग के साथ संयुक्त, सर्वर और अन्य बाहरी इनपुट, से प्रतिक्रिया शीर्षलेख यह आपको काट सकता है।

आप उदाहरण के लिए नोटिस कर सकते हैं कि पिछले नोड परिणामों में त्रुटि काउंटरों में से 3 के लिए समान गणना है। सबसे अधिक, 100 000 अनुरोधों से केवल 840 9 विफल हुए और 25227 नहीं।

Receive: 8409, Length: 8409, Exceptions: 8409 
+0

अब स्रोत प्रत्येक काउंटर को दस्तावेज करता है क्योंकि " के कारण अनुरोध विफल"। ऐसा लगता है कि वे प्रत्येक अनुरोध को समाप्त करने के बारे में अच्छा होने की कोशिश कर रहे हैं जैसे ही उन काउंटरों में से एक को टक्कर लगी है। (या, इसके विपरीत, एक असफल अनुरोध के अंत में केवल एक त्रुटि_ * काउंटर बढ़ाना।) यह आलेख एक वर्ष पुराना है, इसलिए मुझे लगता है कि यह अब कोई मुद्दा नहीं हो सकता है। लेकिन मुझे यकीन नहीं है। – broofa

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