मैंने क्रोम में निम्नलिखित नेटवर्क लॉग किया है:
मुझे इसमें एक बात समझ में नहीं आती है: भरे हुए ग्रे बार और पारदर्शी ग्रे बार में क्या अंतर है।
मैंने क्रोम में निम्नलिखित नेटवर्क लॉग किया है:
मुझे इसमें एक बात समझ में नहीं आती है: भरे हुए ग्रे बार और पारदर्शी ग्रे बार में क्या अंतर है।
जवाबों:
Google अपने DevTools दस्तावेज़ीकरण के नेटवर्क प्रदर्शन अनुभाग के मूल्यांकन में इन क्षेत्रों का टूटना देता है ।
ठप / ब्लॉक करना
समय के अनुरोध को भेजने से पहले प्रतीक्षा की जा रही है। यह समय प्रॉक्सी वार्ता में बिताए गए किसी भी समय का समावेश है। इसके अतिरिक्त, यह समय शामिल होगा जब ब्राउज़र क्रोम के अधिकतम छह टीसीपी कनेक्शन प्रति मूल नियम का पालन करते हुए पुनः उपयोग के लिए उपलब्ध होने के लिए पहले से ही स्थापित कनेक्शन की प्रतीक्षा कर रहा है ।
(यदि आप भूल जाते हैं, तो क्रोम में होवर टूलटिप में और "टाइमिंग" पैनल के तहत "स्पष्टीकरण" लिंक है।)
मूल रूप से, प्राथमिक कारण आपको यह दिखाई देगा, क्योंकि क्रोम केवल एक बार में 6 फाइलें प्रति-सर्वर डाउनलोड करेगा और अन्य अनुरोध तब तक रुके रहेंगे जब तक कि कनेक्शन स्लॉट उपलब्ध नहीं हो जाता।
यह आवश्यक नहीं है कि कुछ ठीक हो, लेकिन स्टाल की हुई स्थिति से बचने का एक तरीका कई डोमेन नाम और / या सर्वर पर फ़ाइलों को वितरित करना होगा, यदि आपकी आवश्यकताओं पर लागू होता है, तो CORS को ध्यान में रखते हुए , हालांकि HTTP2 शायद एक बेहतर विकल्प है आगे जा रहा है। रिसोर्स बंडलिंग (जैसे जेएस और सीएसएस कॉन्टैक्शन) भी रुके हुए कनेक्शन की मात्रा को कम करने में मदद कर सकते हैं।
file:///C:/...
DevTools: [नेटवर्क] अनुरोध से पहले खाली सलाखों की व्याख्या करें
आगे जांच की गई और पता चला कि हमारी स्टाल्ड और क्यूइंग रेंज के बीच कोई महत्वपूर्ण अंतर नहीं है। दोनों की गणना नेटस्टैक या रेंडरर से उपलब्ध कराने के बजाय अन्य टाइमस्टैम्प के डेल्टा से की जाती है।
वर्तमान में, यदि हम एक सॉकेट के उपलब्ध होने की प्रतीक्षा कर रहे हैं:
- यदि कुछ प्रॉक्सी वार्ता हुई तो हम इसे रोक देंगे
- यदि कोई प्रॉक्सी / ssl कार्य आवश्यक नहीं था, तो हम इसे कतारबद्ध कहेंगे।
यह चोम-डैटूल की आधिकारिक साइट से आता है और यह मदद करता है। यहाँ मैं बोली:
- कतार एक अनुरोध कतारबद्ध जाता है तो यह है कि संकेत दिया:
- अनुरोध को रेंडरिंग इंजन द्वारा स्थगित कर दिया गया था क्योंकि इसे महत्वपूर्ण संसाधनों (जैसे स्क्रिप्ट / शैली) से कम प्राथमिकता दी जाती है। ऐसा अक्सर छवियों के साथ होता है।
- अनुरोध अनुपलब्ध टीसीपी सॉकेट के लिए प्रतीक्षा करने के लिए होल्ड पर रखा गया था जो कि खाली होने वाला है।
- अनुरोध को रोक दिया गया क्योंकि ब्राउज़र केवल HTTP पर प्रति उत्पत्ति छह टीसीपी कनेक्शन की अनुमति देता है। डिस्क कैश प्रविष्टियां बनाने में समय व्यतीत होता है (आमतौर पर बहुत जल्दी।)
- ठप / अवरुद्ध समय अनुरोध भेजे जाने से पहले प्रतीक्षा में बिताया गया। यह क्युइंग के लिए वर्णित किसी भी कारण की प्रतीक्षा कर सकता है। इसके अतिरिक्त, यह समय प्रॉक्सी वार्ता में बिताए किसी भी समय के समावेशी है।
मेरा मामला यह है कि पृष्ठ खुले होने पर विभिन्न मापदंडों के साथ कई अनुरोध भेज रहा है। तो ज्यादातर "ठप" हो रहे हैं। निम्नलिखित अनुरोधों को तुरंत "रोक दिया" जाता है। अनावश्यक अनुरोधों से बचना बेहतर होगा (आलसी होने के लिए ...)।
चूंकि बहुत से लोग अपनी धीमी वेबसाइट पर डिबगिंग के लिए यहां पहुंचते हैं, इसलिए मैं आपको अपने मामले के बारे में सूचित करना चाहूंगा, जिसे किसी भी Google स्पष्टीकरण ने हल करने में मदद नहीं की। मेरा विशाल स्टाल्ड समय (कभी-कभी 1 मिनट) अपाचे के कारण विंडोज पर चल रहा था जो कनेक्शनों को संभालने के लिए बहुत कम कार्यकर्ता सूत्र रखते थे, इसलिए उन्हें कतारबद्ध किया जा रहा था।
यदि आप अपाचे लॉग निम्नलिखित नोट करते हैं तो यह आपके लिए लागू हो सकता है:
Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting
यह समस्या Apache httpd.conf में हल हो गई है। Uncomment: conf / extra / httpd-mpm.conf शामिल करें
और httpd-mpm.conf को एडिट करें
<IfModule mpm_winnt_module>
ThreadLimit 2000
ThreadsPerChild 2000
MaxConnectionsPerChild 0
</IfModule>
ध्यान दें कि आपको 2000 थ्रेड्स की आवश्यकता नहीं हो सकती है, या अधिक की आवश्यकता हो सकती है। 2000 मेरे मामले के लिए ठीक था।