benchmarking - एबी के साथ लोड परीक्षण... नकली असफल अनुरोध(लंबाई)




load-testing apachebench (2)

एक पुराने प्रश्न को पुन: स्थापित करने के लिए खेद है, लेकिन यह Google में पहली बार पॉप अप किया गया था। कभी-कभी एबी द्वारा रिपोर्ट की गई त्रुटि त्रुटि वास्तविक समस्या के कारण हो सकती है: यदि सामग्री-लंबाई शीर्षलेख में घोषित बाइट्स की कुल मात्रा क्लाइंट द्वारा प्राप्त नहीं की गई है, तो कनेक्शन सर्वर-साइड बंद है। ऐसा तब हो सकता है जब क्लाइंट और सर्वर के बीच अन्य पार्टियां हों, उदाहरण के लिए, बेवकूफ हैंडकार्ड लोड बैलेंसर्स (मेरा मामला)।

कुछ लोड परीक्षण करने के लिए, मेरी खुद की जिज्ञासा के लिए, मेरे सर्वर पर मैं भाग गया:

ab -kc 50 -t 200 http://localhost/index.php

यह 200 सेकंड के लिए 50 रख-रखाव कनेक्शन खोलता है और index.php के अनुरोध के साथ बस मेरे सर्वर को स्लैम करता है

मेरे परिणामों में, मुझे मिलता है:

Concurrency Level:      50
Time taken for tests:   200.007 seconds
Complete requests:      33106
Failed requests:        32951
   (Connect: 0, Receive: 0, Length: 32951, Exceptions: 0)
Write errors:           0
Keep-Alive requests:    0
Total transferred:      1948268960 bytes
HTML transferred:       1938001392 bytes
Requests per second:    165.52 [#/sec] (mean)
Time per request:       302.071 [ms] (mean)
Time per request:       6.041 [ms] (mean, across all concurrent requests)
Transfer rate:          9512.69 [Kbytes/sec] received

32951 "असफल" अनुरोधों पर ध्यान दें। मैं इसे समझ नहीं सकता।

जैसे-जैसे परीक्षण चल रहा था, मैं अपने होम कंप्यूटर से पूरी तरह से अपनी वेबसाइट तक पहुंचने में सक्षम था, हालांकि पृष्ठ के निचले हिस्से में पृष्ठ लोड समय सामान्य के बजाय .5 के रूप में रिपोर्ट किया गया था .02। हालांकि मैंने कभी एक असफल अनुरोध नहीं किया था।

तो एबी रिपोर्ट क्यों कर रहा है कि कनेक्शन का आधा असफल हो जाता है? और उस संदर्भ में "लंबाई:" का क्या अर्थ है?

धन्यवाद


कोई बात नहीं। "लंबाई विफलता" केवल इंगित करती है कि लगभग आधा समय प्रतिक्रिया की लंबाई अलग थी।

चूंकि सामग्री गतिशील हैं, इसलिए शायद यह सत्र पहचानकर्ता या ऐसा कुछ है।