सवाल HAProxy के लिए उच्च Tq मान


मैंने अभी एक नए पर्यावरण के प्रशासन को संभाला है। एक ज्ञात मुद्दा यह है कि पर्यावरण उच्च प्रतिक्रिया समय (20+ सेकंड) के लिए जाना जाता है, इसलिए मुझे लगा कि मैं हैप्रोक्सी लॉगिंग चालू करूँगा और देख रहा हूं कि क्या हो रहा है। मुझे लगा कि मैं ऐप सर्वर में धीमी लोड समय देखता हूं, लेकिन मैं वास्तव में हैप्रोक्सी में उच्च टीक मान देख रहा हूं। हैप्रोक्सी ईसी 2 पर है और ईएलबी के पीछे नहीं है।

Sep  5 14:22:00 haproxy-apps01 haproxy[24695]: 76.14.153.221:3371 [05/Sep/2012:14:21:49.780] http-in default_apps/fe04-c 10936/0/0/55/10991 200 488 - - ---- 111/111/0/1/0 0/0 "GET /event_times/next?callback=jQuery170189312373075111_1346854917562&_=1346854918453 HTTP/1.1"

जैसा कि आप देख सकते हैं, इस में लगभग 10 सेकंड का टीक है। सभी टीक उच्च (1+ सेकंड) नहीं हैं, लेकिन उनमें से एक अच्छा प्रतिशत (लगभग 35%) हैं। आम तौर पर जब मैं इस व्यवहार को देखता हूं, तो मुझे उम्मीद है कि वहां नेटवर्क समस्याएं होंगी, लेकिन आगंतुकों का यह अविश्वसनीय रूप से उच्च प्रतिशत है कि इस तरह कोई समस्या हो, इसलिए मैं सोच रहा हूं कि किसी ने इसे देखा है या निदान पर कोई संकेत है अगर समस्या संभवतः इस बॉक्स पर हो सकती है?


6
2017-09-05 14:29


मूल




जवाब:


उच्च टीक टाइम्स हमेशा किसी समस्या का संकेत नहीं देते हैं, है http-server-close सेट?

दस्तावेज़ीकरण के अनुसार:

"विकल्प http-server-close" सेट करना बड़ा अनुरोध समय प्रदर्शित कर सकता है   चूंकि "टीक" अतिरिक्त समय के लिए प्रतीक्षा किए गए समय को भी मापता है   अनुरोध।

उदाहरण के लिए, यह स्टैक ओवरफ़्लो के लिए सेट है, और कुछ उदाहरण डेटा के रूप में, निम्न प्रश्न:

Select Top 20 Tq from LogsLastTwoDays WITH (NoLOCK) WHERE
CreationDate > DATEADD(minute, -5, GETUTCDATE()) AND 
ResponseCode = 200 AND Host = 'stackoverflow.com'
ORDER by Tq DESC

पैदावार:

Tq    
----- 
14990 
14987 
14986 
14983 
14974 
14972 
14972 
14965 
14964 
14964 
14962 
14961 
14960 
14955 
14952 
14951 
14945 
14943 
14935 
14932 

ऐसा इसलिए है क्योंकि http-server-close, कनेक्शन को क्लाइंट (एक सतत कनेक्शन) के लिए खुला रखा जाता है timeout http-keep-alive 15s हमारे पर्यावरण में।

मैं आमतौर पर ध्यान केंद्रित करता हूं Tr पहला, क्योंकि यह एलबी और सर्वर के बीच प्रतिक्रिया समय दिखाता है।


4
2017-09-05 14:33



क्षमा करें, मुझे निर्दिष्ट होना चाहिए था। नहीं, http-server-close सेट नहीं है - Will
@Will: ठीक है, इस त्रासदी को छोड़ देगा किसी और के पास भविष्य में एक ही सवाल है। मेरा अनुमान तब नेटवर्क / संसाधन समस्या है। क्या आपने डीएमएसजी और सभी राजधानियों की जांच की है? कंकट्रैक टेबल भरने आदि के साथ कोई समस्या नहीं है? - Kyle Brandt♦
एक साइड नोट के रूप में, आप लॉग के खिलाफ पूछताछ के लिए क्या उपयोग कर रहे हैं? - Will
@Will: हमने एक ऐसी सेवा लिखी है जो यूडीपी के माध्यम से syslog डेटा लेती है, इसे रेगेक्स के साथ पार्स करती है, और इसे एमएस एसक्यूएल सर्वर में डालती है। प्रत्येक दिन अपनी खुद की मेज मिल जाता है। - Kyle Brandt♦
क्या आप सभी ने स्रोत कोड कहीं भी पोस्ट किया था? कहीं और डेटा भेजने के लिए इसे संशोधित करना अच्छा लगेगा। - Will


कहीं भी आपकी कॉन्फ़िगरेशन चिपकाने में मदद मिल सकती है।

यह टाइमआउट कॉन्फ़िगरेशन और HTTP मोड से भी संबंधित हो सकता है। जैसा कि केली ने उल्लेख किया था, मैंने पहले http-server-close विकल्प के लिए वोट दिया होगा। चूंकि आपने इसे सक्षम नहीं किया है, इसलिए आप धीमे-लॉरी जैसे हमले के अधीन हो सकते हैं।

क्या आप 5s पर "टाइमआउट http-request" पैरामीटर सेट कर सकते हैं और देख सकते हैं कि क्या आपके पास अभी भी वह पंक्ति है या यदि उन्हें 408 प्रतिक्रिया से बदला गया है?

चियर्स


4
2017-09-05 15:21



धीमी-लॉरी हमले पर उत्कृष्ट वीडियो - youtube.com/watch?v=XiFkyR35v2Y - Siddhartha