python - ab apr_socket_recv के साथ त्रुटि कर रहा है: कनेक्शन अस्वीकार कर दिया गया(61)




apachebench eventlet (4)

इस बग के लिए एक पैच है, मैंने इस गाइड के चरणों का पालन किया और अब शेर में मेरे लिए काम करना प्रतीत होता है।

मैं इवेंटलेट का परीक्षण कर रहा हूं, और मुझे यह त्रुटि मिल रही है:

~>ab -n 10 -c 1 http://localhost:8090/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)...apr_socket_recv: Connection reset by peer (54)
Total of 2 requests completed

वेबसाइट लोकहोस्ट पर काम करती है: 80 9 0 / और 200 ठीक है।

मुझे टॉमकैट के साथ एक ही समस्या थी, फिर वेबसाइट ने ठीक काम किया।

मुद्दा क्या हो सकता है?


नए संस्करण के अपाचे ने इस मुद्दे को ठीक किया है। केवल ab को पुनर्निर्माण करना है।

http://archive.apache.org/dist/ से नवीनतम पैकेज डाउनलोड करने का प्रयास करें

अपाचे पैच करना और एक नया एबी बनाना है।

$ wget http://archive.apache.org/dist/httpd/httpd-2.3.16-beta.tar.bz2
$ tar jxvf httpd-2.3.16-beta.tar.bz2 
$ cd httpd-2.3.16-beta
$ ./configure

केवल समर्थन फ़ोल्डर में स्थित ab ​​बनाने के लिए है।

$ cd support
$ make
...
$ ./ab -n 10 -c 1 http://localhost:8090/

यदि आपका अपाचे बहुत पुराना है, तो इसे पैच करें और ऊपर के रूप में बनाएं।

$ wget https://www.rtfm.ro/download/patches/ab.patch --no-check-certificate
$ patch -p0 < ./ab.patch

किया हुआ।


-r विकल्प जोड़ें जिसका मतलब सॉकेट प्राप्त त्रुटियों से बाहर निकलना न करें। कभी-कभी आप डिफ़ॉल्ट ulimit आकार मान बदल सकते हैं। ab -r -n 10 -c 1 http://localhost:8090/


ab ( apache-2.4.29 9) में अभी भी मौजूद एक और संबंधित बग यह है कि यह getaddrinfo से केवल पहला परिणाम लेता है। यह संभवतः इस बग का उल्लेख है जिसमें एक comment में जुर्गन स्ट्रोबेल द्वारा उल्लेख किया गया है। मान लें कि आपके पास /etc/hosts जो इस तरह जाते हैं:

127.0.0.1   localhost.localdomain   localhost
::1     localhost.localdomain   localhost

getaddrinfo लिए getaddrinfo द्वारा लौटा पहला परिणाम ::1 । तो ab आईपीवी 6 से कनेक्ट करने की कोशिश करता है और विफल रहता है। वर्कअराउंड 127.0.0.1 का उपयोग करना है: ab -n 10 127.0.0.1/ । या लाइनों को फिर से व्यवस्थित करें। हालांकि, मेरे मामले में यह कहता है:

Benchmarking localhost (be patient)...apr_socket_recv: Connection refused (111)






eventlet