पर FIN ACK (~ 500ms) में देरी भेजता है मेरे पास एक node.js क्लाइंट (10.177.62.7) सर्वर से http Rest सेवा से कुछ डेटा का अनुरोध (10.177.0.1) है। क्लाइंट बस node.js http.request() विधि (एजेंट = झूठी) का उपयोग कर रहा है। क्लाइंट उबंटू 11.10 बॉक्स पर है।क्लाइंट सर्वर
ग्राहक 475ms के बाद एफआईएन एसीके क्यों भेजता है? इतने आहिस्ता क्यो? उसे तुरंत एफआईएन एसीके भेजना चाहिए। मेरे पास इस तरह की कई स्थितियां हैं। पूरे ट्रैफ़िक का लगभग 1% देरी एफआईएन एसीके के साथ अनुरोध है।
क्लाइंट पर सीपीयू निष्क्रिय लगभग 99% है, इसलिए सीपीयू को कम नहीं किया जा रहा है।
यह कैसे डिबग करने के लिए? यह क्या हो सकता है? क्या कोई sysctl विकल्प है जिसे मुझे ट्यून करने की आवश्यकता है?
स्क्रीनशॉट पर दूसरा कॉलम पैकेट के बीच विलुप्त समय है।
मैंने HTTP के बारे में मेरा उत्तर हटा दिया क्योंकि यह निश्चित रूप से अस्वीकार कर दिया गया था। यद्यपि किसी अन्य जवाब के बारे में सोच नहीं सकते हैं। जैसे ही सॉकेट बंद हो जाता है, एफआईएन बाहर जाना चाहिए। –
@AlanCurry लेकिन * एफआईएन/एसीके * केवल तभी बाहर निकल जाएगा जब ग्राहक ने आने वाली एफआईएन पढ़ ली है और सॉकेट को बंद करने का फैसला किया है, जो कि किसी भी समय ले सकता है। यह node.js का व्यवहार है, टीसीपी/आईपी स्टैक नहीं। – EJP
निश्चित रूप से, लेकिन अगर यह किसी http क्लाइंट लाइब्रेरी में कॉल के बीच में है, तो यह जीवित नहीं है, और सीपीयू लोड 1% है, ईओएफ पढ़ने के बाद सॉकेट को बंद करने में कितना समय लग रहा है? –