2010-03-23 13 views
44

मैं फ़ायरबग 1.5.2 का उपयोग कर रहा हूं और उत्पादन रिलीज से पहले एक साइट का परीक्षण करते समय मैं अनुरोधों के 'अवरुद्ध' भागों द्वारा उपभोग की गई बड़ी मात्रा में देख सकता हूं।फायरबग नेट पैनल में 'अवरुद्ध' का अर्थ क्या है?

'अवरुद्ध' का क्या अर्थ है?

उत्तर

5

अवरोधन एक ऐसी घटना का वर्णन करने के लिए प्रयोग किया जाता है जो अन्य घटनाओं या कोड को प्रसंस्करण (उसी धागे के भीतर) से रोकता है।

उदाहरण के लिए यदि आप "अवरुद्ध" सॉकेट का उपयोग करते हैं तो सॉकेट अनुरोध किए जाने के बाद कोड संसाधित नहीं किया जाएगा जब तक अनुरोध पूरा नहीं हो जाता है (उसी धागे के भीतर)।

असिंक्रोनस गतिविधियां (गैर अवरोधन) बस अनुरोध करेगी और पृष्ठभूमि में अनुरोध होने पर अन्य कोड चलाएगा।

आपकी स्थिति में इसका मूल रूप से अर्थ है कि फायरबग/ब्राउज़र के कुछ हिस्सों को सक्रिय नहीं किया जा सकता है जब तक कि अन्य भागों को पूरा नहीं किया जाता है। अर्थात। यह डाउनलोड करने से पहले एक छवि को डाउनलोड करने का इंतजार कर रहा है।

+3

क्या ऐसे ब्लॉकिंग मुद्दों को हटाने के लिए अपाचे सर्वर सेटअप करना संभव है? मुझे यकीन है कि सर्वर ऐसा कर सकता है क्योंकि लगभग सभी आईआईएस साइटों में ऐसी अवरोधन देरी नहीं होती है, लेकिन "साफ" अपाचे इंस्टॉलेशन ... – Laserson

27

पहले "अवरुद्ध" (फायरबग के पुराने संस्करण) को "क्यूइंग" कहा जाता था। इसका वास्तव में मतलब है कि अनुरोध उपलब्ध कनेक्शन के लिए प्रतीक्षा कतार में बैठा है। जहां तक ​​मुझे पता है कि डिफ़ॉल्ट रूप से लगातार कनेक्शन की संख्या फ़ायरफ़ॉक्स के अंतिम संस्करणों में 6, आईई 8 भी 6 तक सीमित है। इससे पहले यह केवल 2 था। इसे ब्राउज़र सेटिंग्स में उपयोगकर्ता द्वारा बदला जा सकता है।
साथ ही मुझे पता है कि जावास्क्रिप्ट फ़ाइल लोड होने पर, अन्य सभी संसाधन (सीएसएस, छवियां) अवरुद्ध हैं

+0

मैं बस जोड़ना चाहूंगा, यही कारण है कि आपको जावास्क्रिप्ट फ़ाइलों को अंतिम रूप से लोड करना चाहिए (अगर संभव हो तो)। यदि पृष्ठ को सीएसएस या छवियों को लोड करने की प्रतीक्षा नहीं की जाती है तो पृष्ठ उपयोगकर्ता को बहुत तेज लोड करेगा। – dspacejs

+0

यह भी देखें [मोज़िला द्वारा आधिकारिक दस्तावेज] (https://developer.mozilla.org/en-US/docs/Tools/Network_Monitor#Timings)। – tanius

4

जहां तक ​​मुझे पता है, दो कारण घटकों को लोड होने से दूसरों को अवरुद्ध करने का कारण बनते हैं।

  1. ब्राउज़र की लागू (लेकिन आमतौर पर कॉन्फ़िगर करने योग्य) सीमा एक समय में किसी विशेष होस्ट से कितने समांतर संसाधनों को लोड किया जा सकता है।
  2. इनलाइन जावास्क्रिप्ट, जो ब्राउज़र अगर यह पर सभी घटकों के बाकी को डाउनलोड करने के साथ आगे जाने की जरूरत है (जावास्क्रिप्ट रीडायरेक्ट सिर्फ मामले में या बदल देता पृष्ठ की सामग्री) प्रतीक्षा करें और देखने के लिए
1
पैदा कर सकता है

इसका मतलब है "कनेक्शन की प्रतीक्षा"। आधिकारिक documentation by Mozilla में समझाया गया है, "अवरुद्ध करना" एक नेटवर्क कनेक्शन के लिए प्रतीक्षा कतार में व्यतीत समय है। यह फ़ायरफ़ॉक्स की आंतरिक समानांतर कनेक्शन सीमा को मारने के कारण हो सकता है, जैसा कि यहां बताया गया है और यहां जवाब में।

इसका अर्थ यह भी हो सकता है कि "प्रतीक्षा करना क्योंकि सर्वर व्यस्त है"। उपरोक्त लिंक किए गए आधिकारिक दस्तावेज में "अवरुद्ध" समय के लिए एक संभावित कारण गायब है: ऐसा तब हो सकता है जब सर्वर उस समय कनेक्शन प्रदान नहीं कर सकता क्योंकि यह ओवरलोड हो गया है। उस स्थिति में, कनेक्शन अनुरोध सर्वर पर एक कतार में जाता है जब तक कि एक कार्यकर्ता प्रक्रिया मुक्त हो जाने पर इसे संसाधित किया जा सके [source]।

तकनीकी अर्थ में, ऐसा कनेक्शन अभी तक स्थापित नहीं हुआ है क्योंकि अनुरोध सर्वर से accept() का इंतजार कर रहा है [source]। और शायद यही कारण है कि इसे फ़ायरफ़ॉक्स द्वारा "अवरुद्ध" के तहत कम किया जाता है, क्योंकि इसे "नेटवर्क कनेक्शन के लिए प्रतीक्षा की जाने वाली कतार में व्यतीत समय" भी माना जा सकता है।

(यह व्यवहार फ़ायरफ़ॉक्स 51 के रूप में पूरी तरह से संगत नहीं है हालांकि: एक नए टैब में बुलाए गए पहले यूआरएल के लिए, सर्वर कनेक्शन कनेक्शन स्वीकार करने से पहले समय "टाइमिंग" टैब में गिना जाता है - केवल बाद के यूआरएल दर्ज किए गए। दोनों व्यवहारों में से कोई भी एक बग हो सकता है, मुझे नहीं पता कि कौन सा है।)

संबंधित मुद्दे