किसी विशेष साइट से पेज लाने में बड़ी देरी


11

मुझे निम्नलिखित समस्या है: जब मैं हैकेज से एक पृष्ठ पुनः प्राप्त करता हूं , तो मुझे एक बड़ी देरी (लगभग 30 सेकंड) मिलती है। इसके अलावा अनुरोध तेज़ हैं, लेकिन अगर मैं कुछ मिनटों के दौरान इससे कनेक्ट नहीं होता, तो समस्या वापस आ जाती है।

इस समस्या के बारे में क्या दिलचस्प है:

  • यह इस विशेष साइट (हैकेज) के लिए विशिष्ट है - मुझे किसी अन्य साइट के साथ एक समान समस्या नहीं मिलती है (और मैं काफी कुछ यात्रा करता हूं);
  • यह मेरे आईएसपी के लिए विशिष्ट प्रतीत होता है - जब मैं अन्य स्थानों से जोड़ता हूं, तो ऐसी कोई समस्या नहीं है;
  • यह DNS या कनेक्टिविटी समस्याओं से संबंधित नहीं है - वास्तव में, टीसीपी कनेक्शन जल्दी से स्थापित है; यह HTTP प्रतिसाद है जो बहुत लंबा लगता है, जैसा कि निम्नलिखित नमूना पैकेट कैप्चर से देखा जा सकता है:

      1 0.000000000 192.168.1.101 -> 66.193.37.204 TCP 66 41518 > http [SYN] Seq=0 Win=13600 Len=0 MSS=1360 SACK_PERM=1 WS=16
      2 0.205708000 66.193.37.204 -> 192.168.1.101 TCP 66 http > 41518 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1440 SACK_PERM=1 WS=128
      3 0.205759000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=1 Ack=1 Win=13600 Len=0
      4 0.205846000 192.168.1.101 -> 66.193.37.204 HTTP 158 GET /packages/hackage.html HTTP/1.1 
      5 0.406461000 66.193.37.204 -> 192.168.1.101 TCP 54 http > 41518 [ACK] Seq=1 Ack=105 Win=5888 Len=0
      6 28.433860000 66.193.37.204 -> 192.168.1.101 TCP 1494 [TCP segment of a reassembled PDU]
      7 28.433904000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=105 Ack=1441 Win=16480 Len=0
      8 28.434211000 66.193.37.204 -> 192.168.1.101 HTTP 1404 HTTP/1.1 200 OK  (text/html)
      9 28.434228000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=105 Ack=2791 Win=19360 Len=0
     10 28.434437000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [FIN, ACK] Seq=105 Ack=2791 Win=19360 Len=0
     11 28.635146000 66.193.37.204 -> 192.168.1.101 TCP 54 http > 41518 [FIN, ACK] Seq=2791 Ack=106 Win=5888 Len=0
     12 28.635191000 192.168.1.101 -> 66.193.37.204 TCP 54 41518 > http [ACK] Seq=106 Ack=2792 Win=19360 Len=0
    

    ( पैकेट कैप्चर एनजीपी प्रारूप में )। यह कैप्चर दिखाता है कि एक साधारण के दौरान क्या होता है curl http://hackage.haskell.org/packages/hackage.html

यह भी कोई फर्क नहीं पड़ता कि मैं एक राउटर के पीछे हूं - यह वही है जब मैं सीधे कनेक्ट करता हूं। कनेक्शन प्रकार PPPoE है।

मैंने लिनक्स और विंडोज चलाने वाले 3 कंप्यूटरों पर समस्या को पुन: पेश किया।

ऐसी समस्या का निदान कैसे करें?


नमस्ते, मुझे लगता है कि आपको आईपी स्तर संवाद के बजाय HTTP स्तर के संवाद को देखने के लिए सक्षम डेवलपर टूल के साथ एक ब्राउज़र का उपयोग करने की आवश्यकता है। हमें यह देखने की आवश्यकता है कि देरी का कारण क्या है और आप पृष्ठ के लिए HTTP इंटरैक्शन के कुल सेट को देखकर ही ऐसा कर सकते हैं। इसके बजाय, आप GMetrix का उपयोग कर सकते हैं ।
जूलियन नाइट

साइट पर चल रहे GMetrix ने मुझे कुछ महत्वपूर्ण विस्तार के साथ बहुत अच्छे परिणाम दिए जो आपको सही दिशा में इंगित कर सकते हैं।
जूलियन नाइट

@JulianKnight: प्रश्न में पूर्ण कैप्चर फ़ाइल के लिए एक लिंक है - इसमें सभी जानकारी है
रोमन चेलपेल्का

आपका लिंक एक PCAP है, मैं बहुत उच्च स्तर पर किसी चीज का उल्लेख कर रहा हूं। कृपया ब्राउज़र-आधारित डेवलपर विश्लेषण या GMetrix या दोनों का उपयोग करके वापस रिपोर्ट करें।
जूलियन नाइट

1
@JulianKnight: मुझे दोहराने दो - सीएसएस यहाँ अप्रासंगिक है, और हम एक एकल HTTP अनुरोध के लिए 30 सेकंड की देरी के बारे में बात कर रहे हैं।
रोमन चेप्लाकाका

जवाबों:


5

"30 सेकंड" और "दो मिनट के बाद" मेरे लिए DNS मुद्दे के लिए एक मृत रिंगर हैं।

अगर हमें लगता है कि आप जिस पेज से जुड़ रहे हैं, वह कनेक्टिंग आईपी पर DNS क्वेरी की तरह कुछ करता है, और यह क्वेरी किसी कारण से विफल हो जाती है, तो आप देखेंगे:

  • टीसीपी कनेक्शन लगभग तात्कालिक है क्योंकि सर्वर डीएनएस चेक नहीं कर रहा है
  • स्क्रिप्ट DNS क्वेरी चलाता है और अटक जाता है
  • 30 सेकंड के बाद डिफ़ॉल्ट समय सीमा समाप्त हो जाती है और स्क्रिप्ट चलती है (अब आप "अज्ञात" हैं)
  • बाद के प्रश्नों पर, नकारात्मक DNS हिट अभी भी कैश किया गया है और चरण 1 को बिना किसी समय के पास किया गया है
  • नकारात्मक समय समाप्त होने के बाद (RFC 2308), और वह 2 से 5 मिनट के बीच कुछ भी हो, अगली कड़ी में एक नई क्वेरी जारी की जाती है, और कहानी दोहराई जाती है।

... और ये बिल्कुल लक्षण हैं जिनका आप वर्णन कर रहे हैं।

आप ISP1 से प्राप्त IP पर किसी अन्य ISP (जैसे, ISP2) से DNS क्वेरी चलाने का प्रयास कर सकते हैं। यह 100% प्रमाण नहीं है, लेकिन मैं एक उच्च संभावना की उम्मीद करता हूं कि क्वेरी को पूरा होने में 30 सेकंड लगेंगे। इसका मतलब यह होगा कि ISP1 DNS सर्वर को बाहर से प्रश्नों के उत्तर देने में समस्या हो रही है ।

एक और संभावित कारण ISP1 के DNS को हैकेज द्वारा किसी कारण (संभावित गलती) के लिए फायरवॉल किया जा सकता है ( मेरे संगठन में, इसका कारण "ट्रिगर-हैप्पी नेटैमिन" होगा, और मैं नाम बता सकता हूं)। उस मामले में आपके पास निदान करने में बहुत कठिन समय होगा, आईएसपी 2 के माध्यम से किसी भी परीक्षण के लिए कुछ भी असामान्य नहीं होगा; आपको इसे हैकेज तक बढ़ाना होगा।


यह बहुत प्रशंसनीय लगता है! मुझे इसे सत्यापित करने दें।
रोमन चेप्लाका

पहले कारण के लिए, मैंने एक अनाम प्रॉक्सी का उपयोग करके हैसेल में जाने की कोशिश की और यह तेज था, जो संभवतः संकेत कर सकता है कि यह कारण संभावना नहीं है। दूसरे के लिए, एक ही ठहराव तब होने की उम्मीद की जाती है जब किसी ISP से हैस्केल एक्सेस किया जाता है, इसलिए यह भी संभावना नहीं है। DNS अभी भी कारण हो सकता है, लेकिन यह समझाने के लिए अधिक जटिल हो सकता है।
harrymc

@harrymc: यह वास्तव में बहुत सरल है। मेरे ISP के DNS सर्वर जो रिवर्स DNS के लिए जिम्मेदार हैं, नीचे हैं। इसलिए, उलटे समय को हल करने का प्रयास करता है। इस कोशिश dig +trace -x 80.90.233.38:। मुझे 95% यकीन है कि यह कारण है, बस इस पुष्टि की प्रतीक्षा कर रहा है कि हैकेज वास्तव में रिवर्स DNS लुकअप करता है।
रोमन चेप्लाकाका

0

समस्या "MTU" के साथ एक समस्या की तरह लगती है। यदि आप "विंडोज़ सेटिंग mtu" को गूगल करते हैं, तो आपको कई तरह की प्रतिक्रियाएँ देनी चाहिए जो आपको दिखाएंगी कि इस सिद्धांत का परीक्षण कैसे किया जाए, और अपने एमटीयू को उचित मानें। (यदि आप एक लिनक्स राउटर का उपयोग कर रहे थे, तो मैं आपके लिए यह गतिशील रूप से करने के लिए एक IPTables कमांड का उत्पादन कर सकता था, लेकिन मैं "विंडोज" नहीं करता।


विंडसर गाइड के अनुसार, "एक आश्वस्त पीएसयू का टीसीपी सेगमेंट" वास्तव में आईपी विखंडन के अनुरूप नहीं है, बल्कि सिर्फ यह इंगित करता है कि प्रतिक्रिया में वैध रूप से कई पैकेट शामिल हैं जैसा कि आप एक वेब पेज से अपेक्षा करेंगे।
जूलियन नाइट

यह MTU नहीं लगता है। मैंने इसे सीधे ईथरनेट से जोड़कर और mtu को 1000 पर सेट करके परीक्षण किया। समस्या बनी रही।
रोमन चेप्लाका

0

मैंने आपके पैकेट कैप्चर को दोहराया है, जो मेरे अंत में इस तरह दिखते हैं:

छवि पर कब्जा

प्रभावी रूप से एक मामूली अनिर्धारित विराम है जबकि पैकेट को फिर से जोड़ा गया है, लेकिन कहीं भी आपका उतना लंबा नहीं है। मैंने सभी आईपी-पते और HTML को भी सत्यापित किया है, और सब कुछ सही है और बेहद सरल और हानिरहित दिखता है।

संक्षेप में, इस देरी का कोई कारण नहीं है, जहां तक ​​इंटरनेट का संबंध है। निष्कर्ष यह है कि आपके आईएसपी के साथ एक समस्या है।

संभावनाओं को कम करने के लिए आप क्या कर सकते हैं:

  1. किसी अन्य haskell.org पैकेज से कनेक्ट करने का प्रयास करें और देखें कि क्या समान देरी हो रही है
  2. विभिन्न नेटवर्क एडेप्टर का उपयोग करके कई कंप्यूटरों के साथ अपनी जगह से एक और राउटर का उपयोग करने का प्रयास करें
  3. अपने क्षेत्र में किसी को रखने की कोशिश करें जो समान आईएसपी का उपयोग करता है कनेक्शन को दोहराएं
  4. अपने क्षेत्र में किसी ऐसे व्यक्ति को रखने की कोशिश करें जो दूसरे आईएसपी का उपयोग करता है जो कनेक्शन को दोहराता है
  5. इस जानकारी के साथ, यदि आपके पास अभी भी इस देरी के लिए कोई स्पष्टीकरण नहीं है, तो यह पूछने के लिए अपने आईएसपी के समर्थन से संपर्क करें कि क्या हो रहा है।

[संपादित करें]

मैंने देखा haskell.org एक भेजता है ETag ताकि बताता है कि क्यों सबसे पहले पहुंच धीमी है लेकिन अगले वालों तेजी से कर रहे हैं,: क्योंकि के लिए लंबे समय के रूप ETag मान्य है के रूप में, पृष्ठ वास्तव में अपने ब्राउज़र की कैश से आता है।

यहां एक अजीब बात यह है कि ईटीजी अनुरोध को स्थानांतरित करते समय आईएसपी धीमा क्यों नहीं है। एक स्पष्टीकरण हो सकता है कि सीमित समय के लिए वे haskell.org पर जाने के बजाय अपने स्वयं के कैश से अनुरोध को पूरा करें।


1. यह सभी हैकेज पेजों के लिए समान है। 2. जैसा कि मैंने कहा, मैंने कई कंप्यूटरों पर और कई राउटरों के साथ (और एक के बिना) यह कोशिश की। 4. यदि मैं अपने क्षेत्र में किसी अन्य ISP का उपयोग करता हूं तो समस्या मौजूद नहीं है।
रोमन चेप्लाका

अब, आईएसपी समस्या वास्तव में एकमात्र प्रशंसनीय समाधान की तरह दिखती है, लेकिन यह किस तरह की समस्या हो सकती है? संभवत: उन्हें हैकिंग के अस्तित्व के बारे में संदेह नहीं है, इसलिए यह जानबूझकर नहीं हो सकता है। अगर मैं उन्हें बताता हूं, "हे, यह एक साइट मेरे लिए काम नहीं करती (लेकिन बाकी सभी करते हैं)", वे नहीं सुनेंगे।
रोमन चेप्लाका

मैंने एक स्पष्टीकरण के ऊपर जोड़ा कि केवल पहली पहुंच क्यों धीमी है। ISP से बात करने से पहले पॉइंट 3 को अभी भी एक उत्तर की आवश्यकता है। उनकी समस्या सुरक्षा सॉफ़्टवेयर से संबंधित हो सकती है, जो किसी कारण से, haskell.org की वैधता की जांच के लिए बहुत धीमी गति से हो रहा है।
harrymc

Etag अप्रासंगिक है, क्योंकि मैं परीक्षण के लिए कर्ल का उपयोग करता हूं। वैसे भी, रिवर्स डीएनएस के बारे में जवाब शायद सबसे सही है।
रोमन चेप्लाका

-2

यह एक सर्वर समस्या की तरह लगता है। इसने मेरे लिए तेजी से लोड किया। यह जांचने के लिए कि क्या सर्वर आपको नापसंद करता है, उसे प्रॉक्सी से एक्सेस करने का प्रयास करें, जैसे TOR या HideMyAss.com। यदि यह तेज़ है, तो haskell.org और आपके घर के बीच एक समस्या है।

एक और परीक्षण जो आप चला सकते हैं, उस दृष्टि पर एक संसाधन खोजने के लिए जैसे कि HTML फ़ाइल, CSS फ़ाइल, या XML फ़ाइल, और उस लिंक को HTML सत्यापनकर्ता को पास करें, आदि। यदि 3 पार्टी सेवाओं को लाने में लंबा समय लगता है, तो यह सर्वर के साथ एक समस्या है।

एक और परीक्षण: अपने DNS कैश को साफ़ करें। यह haskell.org के आईपी पते को देखने में लंबा समय ले सकता है। ipconfig /flushdns। यह भी देखने के ping hackage.haskell.orgलिए कमांड लाइन से प्रयास करें कि आईपी एड्रेस को देखने में कितना समय लगता है।

एक और परीक्षण: कुकी भेजने से बचने के लिए Chrome (और अन्य) के साथ एक निजी ब्राउज़िंग सत्र खोलें।

एक अन्य परीक्षण: क्रोम या ओपेरा में F12 खोलें, नेटवर्क टैब पर जाएं, और फिर प्रत्येक संसाधन के लिए समय देखने के लिए साइट पर जाएं।


प्रॉक्सी का उपयोग करते समय समस्या दूर हो जाती है। आपके अन्य सुझाव पहले से ही प्रश्न में संबोधित किए गए हैं।
रोमन चेप्लाकाका

सर्वर आपको पसंद नहीं करता है। यह जो भी कारण के लिए अपने आईपी थ्रॉटलिंग है। आपके करने लायक कुछ नहीं है।
च्लोए
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.