पब्लिश करने की तारीख: 7 नवंबर, 2019, पिछली बार अपडेट किए जाने की तारीख: 15 अक्टूबर, 2025
टीबीटी क्या है?
टोटल ब्लॉकिंग टाइम (टीबीटी) मेट्रिक, फ़र्स्ट कॉन्टेंटफ़ुल पेंट (एफ़सीपी) के बाद के कुल समय को मापती है. इस दौरान, मुख्य थ्रेड को इनपुट का रिस्पॉन्स देने से रोकने के लिए काफ़ी समय तक ब्लॉक किया गया था.
डिफ़ॉल्ट रूप से, Lighthouse, इंटरैक्टिव होने में लगने वाले समय (टीटीआई) के बाद टीबीटी को मॉनिटर करना बंद कर देता है. पेज लोड होने की स्पीड मेज़र करने वाले कुछ अन्य लैब टूल भी ऐसा ही करते हैं. टीबीटी और टीटीआई में क्या अंतर है? लेख पढ़ें.
मुख्य थ्रेड को "ब्लॉक" तब माना जाता है, जब कोई लॉन्ग टास्क होता है. यह ऐसा टास्क होता है जो मुख्य थ्रेड पर 50 मिलीसेकंड से ज़्यादा समय तक चलता है. हम मुख्य थ्रेड को "ब्लॉक" कहते हैं, क्योंकि ब्राउज़र किसी ऐसे टास्क में रुकावट नहीं डाल सकता जो प्रोग्रेस में है. इसलिए, अगर कोई उपयोगकर्ता लंबे टास्क के बीच में पेज से इंटरैक्ट करता है, तो ब्राउज़र को जवाब देने से पहले टास्क के पूरा होने का इंतज़ार करना होगा.
अगर टास्क पूरा होने में ज़्यादा समय लगता है (50 मिलीसेकंड से ज़्यादा), तो हो सकता है कि उपयोगकर्ता को देरी का पता चल जाए. साथ ही, वह पेज को धीमा या खराब मान सकता है.
किसी लंबे टास्क के ब्लॉक होने का समय, 50 मिलीसेकंड से ज़्यादा की अवधि होती है. किसी पेज के लिए कुल ब्लॉकिंग टाइम, मेज़र किए गए समयसीमा के लिए एफ़सीपी के बाद होने वाले हर लंबे टास्क के ब्लॉकिंग टाइम का योग होता है. आम तौर पर, यह पेज लोड टूल के लिए टीटीआई या अन्य टूल के लिए कुल ट्रेस टाइम होता है.
उदाहरण के लिए, पेज लोड होने के दौरान ब्राउज़र के मुख्य थ्रेड का यह डायग्राम देखें:
ऊपर दी गई इमेज में दिखाई गई टाइमलाइन में पाँच टास्क हैं. इनमें से तीन टास्क लंबे समय तक चलने वाले टास्क हैं, क्योंकि इनकी अवधि 50 मिलीसेकंड से ज़्यादा है. इस डायग्राम में, लंबे समय तक चलने वाले हर टास्क के लिए ब्लॉकिंग टाइम दिखाया गया है:
इसलिए, मुख्य थ्रेड पर टास्क चलाने में कुल 560 मिलीसेकंड लगते हैं. हालांकि, इनमें से सिर्फ़ 345 मिलीसेकंड को ब्लॉकिंग टाइम माना जाता है.
टास्क की अवधि (मिलीसेकंड में) | टास्क को ब्लॉक करने में लगा समय (मिलीसेकंड में) | |
---|---|---|
टास्क एक | 250 | 200 |
दूसरा टास्क | 90 | 40 |
तीसरा टास्क | 35 | 0 |
चौथा टास्क | 30 | 0 |
पांचवां टास्क | 155 | 105 |
टोटल ब्लॉकिंग टाइम | 345 मिलीसेकंड |
टीबीटी, आईएनपी से कैसे जुड़ा है?
टीबीटी, आईएनपी से पहले का मेट्रिक है. यह आईएनपी से जुड़ी समस्याओं का पता लगाने में मददगार है. खास तौर पर, लैब एनवायरमेंट में आईएनपी को मेज़र करना ज़्यादा मुश्किल होता है. हालांकि, टीबीटी ऐसी संभावित समस्याओं को फ़्लैग कर सकता है जिनमें उपयोगकर्ताओं को कोई समस्या नहीं होती. ऐसा तब होता है, जब वे उस समय इंटरैक्ट नहीं करते हैं. साथ ही, लैब के माहौल में मेज़रमेंट करने पर, इंटरैक्शन की वजह से होने वाली समस्याएं भी छूट सकती हैं. हमारा सुझाव है कि फ़ील्ड में आईएनपी को मेज़र करें. इससे आपको यह पता चलेगा कि उपयोगकर्ताओं को रिस्पॉन्स मिलने में कितनी देर लगी. लैब के लिए, टीबीटी को INP के लिए एक सही प्रॉक्सी मेट्रिक माना जा सकता है. हालांकि, यह INP का विकल्प नहीं है.
टीबीटी, टीटीआई से कैसे जुड़ा है?
टीबीटी को एक तय समय के हिसाब से मापा जाता है. कुछ लैब टूल, पेज लोड होने की प्रोसेस को मेज़र करते हैं. इनमें Lighthouse भी शामिल है. इन टूल के लिए, टीबीटी को टीटीआई तक मेज़र किया जाता है. ऐसा इसलिए, क्योंकि इससे यह पता चलता है कि पेज के पूरी तरह से इंटरैक्टिव होने से पहले, वह कितना इंटरैक्टिव नहीं था. हालांकि, पेज लोड होने के बाद भी टीबीटी को मेज़र किया जा सकता है. इसलिए, यह टीटीआई से ज़्यादा हो सकता है. उदाहरण के लिए, Lighthouse के टाइमस्पैन मोड में.
टीटीआई, किसी पेज को "भरोसेमंद तरीके से इंटरैक्टिव" तब मानता है, जब मुख्य थ्रेड पर कम से कम पाँच सेकंड तक कोई लंबा टास्क न हो. इसका मतलब है कि 10 सेकंड में फैले 51 मि॰से॰ के तीन टास्क, टीटीआई को उतना ही पीछे धकेल सकते हैं जितना कि 10 सेकंड का एक टास्क. हालांकि, पेज से इंटरैक्ट करने की कोशिश करने वाले उपयोगकर्ता को ये दोनों स्थितियां बहुत अलग लगेंगी.
पहले मामले में, 51 मि॰से॰ के तीन टास्क का टीबीटी 3 मि॰से॰ होगा. वहीं, 10 सेकंड तक चलने वाले एक टास्क का टीबीटी 9950 मिलीसेकंड होगा. दूसरे मामले में टीबीटी की ज़्यादा वैल्यू, खराब अनुभव को दिखाती है.
इस उदाहरण में दिखाया गया है कि टीटीआई की तुलना में टीबीटी अक्सर एक बेहतर मेट्रिक क्यों होती है. इसकी वजह यह है कि इसमें आउटलायर की संभावना कम होती है. ऐसा तब भी होता है, जब टीटीआई का इस्तेमाल टीबीटी के एंडपॉइंट के तौर पर किया जाता है.
टीबीटी को कैसे मेज़र करें
टीबीटी एक ऐसी मेट्रिक है जिसे लैब में मेज़र किया जाना चाहिए. टीबीटी को मेज़र करने का सबसे अच्छा तरीका, अपनी साइट पर Lighthouse परफ़ॉर्मेंस ऑडिट चलाना है. इस्तेमाल से जुड़ी जानकारी के लिए, टीबीटी के बारे में Lighthouse का दस्तावेज़ देखें.
फ़ील्ड में टीबीटी को मेज़र किया जा सकता है. हालांकि, हम ऐसा करने का सुझाव नहीं देते, क्योंकि उपयोगकर्ता के इंटरैक्शन से आपके पेज के टीबीटी पर इस तरह से असर पड़ सकता है कि आपकी रिपोर्ट में काफ़ी अंतर आ जाए. हमारा सुझाव है कि अगर आपको किसी एक आईएनपी इंटरैक्शन से ज़्यादा जानकारी चाहिए, तो फ़ील्ड में मौजूद नए Long Animations Frame API का इस्तेमाल करें.
लैब टूल
टीबीटी का अच्छा स्कोर क्या होता है?
उपयोगकर्ताओं को अच्छा अनुभव देने के लिए, यह ज़रूरी है कि साइटों का कुल ब्लॉकिंग समय 200 मिलीसेकंड से कम हो. यह समय, सामान्य मोबाइल हार्डवेयर पर टेस्ट करने के बाद तय किया जाता है.
आपके पेज के टीबीटी का असर, Lighthouse परफ़ॉर्मेंस स्कोर पर कैसे पड़ता है, इस बारे में जानने के लिए Lighthouse, आपके टीबीटी स्कोर का पता कैसे लगाता है लेख पढ़ें
टीबीटी को बेहतर बनाने का तरीका
आम तौर पर, हमारा सुझाव है कि टीबीटी के बजाय आईएनपी के लिए ऑप्टिमाइज़ करें. ऐसा इसलिए, क्योंकि हमारा सुझाव है कि लैब में टीबीटी का इस्तेमाल, आईएनपी के लिए प्रॉक्सी मेट्रिक के तौर पर किया जाए. लैब में, आईएनपी को आम तौर पर सटीक तरीके से मेज़र नहीं किया जा सकता. इसलिए, टीबीटी को बेहतर बनाने के लिए, आईएनपी को ऑप्टिमाइज़ करने से जुड़ी हमारी गाइड देखें.
अगर आपको खास तौर पर टीबीटी पर ध्यान देना है, तो Lighthouse परफ़ॉर्मेंस ऑडिट चलाएं. साथ ही, ऑडिट में सुझाए गए किसी भी मौके पर ध्यान दें.
आम तौर पर, किसी साइट के लिए टीबीटी को बेहतर बनाने का मतलब है कि ब्लॉकिंग स्क्रिप्ट की संख्या को कम किया जाए. इसका मतलब है कि या तो उन्हें कम ब्लॉक करने के लिए ऑप्टिमाइज़ किया जाए या स्क्रिप्ट की कुल संख्या को कम किया जाए. परफ़ॉर्मेंस से जुड़ी इन गाइड को देखें: