asp.net mvc - IIS re-processing the same request during 504 (Gateway timeout) on AWS (Amazon) -
सेटअप निम्नानुसार है & gt;
एक अमेज़ॅन ईएलबी (इलास्टिक लोड बैलेंसर) है जो आईआईएस के लिए अनुरोध करता है। ईएलबी के पास 15 सेकंड की सेटिंग का समय है
यदि वेब सर्वर अनुरोध पर कार्रवाई करने में 15 सेकंड का समय लेता है, तो मैं दो व्यवहारों का पालन करता हूं।
1) कभी-कभी, 15 सेकंड के निशान पर, 504 (गेटवे टाइमआउट) क्लाइंट (ब्राउज़र) को जारी किया गया। यह व्यवहार मैं समझता हूं और उम्मीद करता हूं।
2) हालांकि, कभी-कभी, 15 सेकंड के निशान पर, वेब सर्वर (आईआईएस) शुरुआत से ही एक ही अनुरोध को फिर से शुरू करना शुरू कर देता है क्लाइंट को जारी किए गए कोई 504 (गेटवे टाइमआउट) नहीं है यह व्यवहार, मुझे समझ नहीं आ रहा है। मैं asp.net MVC स्टैक का उपयोग करता हूँ।
मैं ग्राहक से उसी अनुरोध को जानता हूं क्योंकि क्लाइंट द्वारा निर्मित आईडी अनुरोध के लिए समान रहता है। लेकिन अनुरोध के लिए एक नया सर्वर जनरेटेड आईडी है कुछ मध्यस्थ (ईएलबी) कुछ मामलों में समय समाप्ति पर (15 सेकंड) अनुरोध को रिफॉर्व करते हैं।
क्या किसी को इसके कारण अंतर्दृष्टि मिल सकती है (2)?
ऐसा लगता है कि आप इस समस्या से निपट रहे हैं:
माना जाता है कि यह तय किया गया था, लेकिन जाहिरा तौर पर यदि आपका बैकेंड टाइमआउट ईएलबी टाइमआउट के समान है, तो एक दौड़ की स्थिति हो सकती है, इसलिए आपको अपना समय-निर्धारण ELB टाइमआउट से कम से कम 1 सेकेंड तक करना चाहिए ताकि ईएलबी कनेक्शन को डंप कर सके और आपका कोड न हो ।
इस बात के बारे में दिलचस्प बात यह है कि वास्तव में क्लाइंट से रिटायर नहीं होता है, लेकिन यह इसलिए है क्योंकि क्लाइंट के टीसीपी स्टैक को पैकेट को छोड़ने की सोच में बेवकूफ़ बना दिया गया है, इसलिए वह टीसीपी स्तर पर पैकेट को पुनः चलाता है।
Comments
Post a Comment