जानें कि तीसरे पक्ष के संसाधनों को तेज़ी से लोड करने से आय कैसे बढ़ सकती है.
इस केस स्टडी से पता चलता है कि तीसरे पक्ष के संसाधनों की परफ़ॉर्मेंस में सुधार करके, कारोबार की मेट्रिक को कैसे बढ़ावा दिया जा सकता है. पिछले स्टडी में, विज्ञापन दिखने में लगने वाले समय की अतिरिक्त कीमत का आकलन किया गया था. इस स्टडी में, असल दुनिया में विज्ञापन की परफ़ॉर्मेंस को बेहतर बनाने की अहमियत को दिखाया गया है:
0.5%
पब्लिशर के लिए रेवेन्यू में लिफ़्ट
2%
शुरुआती विज्ञापन स्क्रिप्ट लोड में बढ़ोतरी
सोर्स: Google का इंटरनल डेटा, जून से जुलाई 2019 तक.
बैकग्राउंड
Google पब्लिशर टैग (GPT), Google Ad Manager के लिए विज्ञापन टैगिंग की स्क्रिप्ट है. यह वेब पर डिसप्ले विज्ञापनों का अनुरोध करने और उन्हें रेंडर करने का काम करती है. GPT के लिए एक आसान stale-while-revalidate
एचटीटीपी हेडर लागू करके, GPT टीम ने अपने पब्लिशर पार्टनर के लिए, Google डिसप्ले विज्ञापनों की स्पीड और परफ़ॉर्मेंस को बेहतर बनाया है. यही तकनीक किसी भी दूसरे मामले में लागू की जा सकती है, जहां स्क्रिप्ट को जल्द से जल्द लोड करना, सबसे नए कोड को लोड करने के मुकाबले ज़्यादा अहम हो.
समस्या
GPT को बूटस्ट्रैपिंग स्क्रिप्ट, gpt.js
के रूप में डिप्लॉय किया गया है, जो 15 मिनट लाइव (टीटीएल) के लिए कम होती है. इस छोटे TTL की मदद से स्क्रिप्ट अपडेट होती है या उसे तुरंत रोल बैक किया जा सकता है. लोड होने के बाद, gpt.js
अतिरिक्त स्क्रिप्ट लागू करने का अनुरोध करता है और उन्हें लोड करता है. इन स्क्रिप्ट में बड़ा TTL (टीटीएल) होता है.
15 मिनट की TTL की समयसीमा खत्म होने के बाद, कैश मेमोरी में सेव किए गए gpt.js
का वर्शन पुराना हो जाता है. इसके लिए, आपको फिर से पुष्टि करनी होगी. पहले, फिर से पुष्टि करने की इस प्रोसेस में स्क्रिप्ट की नई कॉपी फ़ेच करने के लिए, नेटवर्क का सिंक्रोनस अनुरोध करना पड़ता था. इस प्रोसेस के दौरान, पहले विज्ञापन अनुरोध में इंतज़ार का समय भी जोड़ा जाता था.
समाधान
stale-while-revalidate
एट्रिब्यूट का इस्तेमाल, Cache-Control
हेडर करता है. यह अतिरिक्त विंडो के बारे में बताता है. इस दौरान, कैश मेमोरी में मौजूद पुरानी ऐसेट का इस्तेमाल किया जा सकता है. हालांकि, इस दौरान कैश मेमोरी की एसिंक्रोनस तरीके से दोबारा पुष्टि की जाती है. इससे डेवलपर को तुरंत कैश मेमोरी में सेव किए गए कॉन्टेंट को तुरंत लोड करने और तुरंत कार्रवाई करने के बीच संतुलन बनाने में मदद मिलती है
फ़्रेशनेस यानी कैश मेमोरी अपडेट करना—यह पक्का करना कि कैश मेमोरी में सेव किए गए कॉन्टेंट के अपडेट, आने वाले समय में इस्तेमाल किए जाएं.
Google Display Network में दिखने वाले डिसप्ले विज्ञापनों से जुड़ी केस स्टडी
GPT टीम ने 2016 में, gpt.js
एचटीटीपी रिस्पॉन्स में इस Cache-Control
हेडर को जोड़ा था. ऐसा इसलिए किया गया, ताकि यह अनुमान लगाया जा सके कि stale-while-revalidate
को लागू करने वाले ब्राउज़र ये हैं:
cache-control: private, max-age=900, stale-while-revalidate=3600
इस सेटिंग का मतलब है कि अगर gpt.js
का अनुरोध, कैश मेमोरी में सेव की गई पिछली वैल्यू के 15 से 60 मिनट के बीच किया जाता है, तो अनुरोध को पूरा करने के लिए, कैश मेमोरी में सेव की गई वैल्यू का इस्तेमाल किया जाएगा. भले ही, वह पुरानी हो. साथ ही, बैकग्राउंड में दोबारा पुष्टि करने का अनुरोध किया जाएगा, ताकि कैश मेमोरी को आने वाले समय में इस्तेमाल के लिए नई वैल्यू से भरा जा सके.
Chrome ने कुल ट्रैफ़िक के 75 से 99% वर्शन में stale-while-revalidate
को रोल आउट कर दिया है. इस सुविधा के असर को मापने के लिए, 1% ट्रैफ़िक को कुछ समय के लिए बंद कर दिया गया है. GPT टीम ने इस 1% (प्रयोग के तौर पर शुरू किए गए ग्रुप) की मेट्रिक और 1% ट्रैफ़िक के सैंपल को लॉग किया. इसमें यह देखा जा सका कि कंट्रोल ग्रुप में उपलब्ध सुविधा, stale-while-revalidate
विज्ञापन स्क्रिप्ट पर कितने कारगर हैं. दो हफ़्तों के दौरान, 5.2 अरब Google डिसप्ले विज्ञापन इंप्रेशन के सैंपल साइज़ से लॉग की गई मेट्रिक की जानकारी के लिए, कंट्रोल ग्रुप ने यह जानकारी देखी:
- विज्ञापन इंप्रेशन में 0.3% की बढ़ोतरी हुई.
- रेवेन्यू में 0.5% की बढ़ोतरी हुई.
- विज्ञापन स्क्रिप्ट के शुरुआती लोड होने में 2% की बढ़ोतरी हुई. यह बढ़ोतरी, पेज लोड की शुरुआत से 500 मि॰से॰ से कम थी.
- विज्ञापन स्क्रिप्ट के लोड होने में 1.1% की बढ़ोतरी हुई.
जैसा कि ऊपर दिए गए चार्ट में दिखाया गया है, इस प्रयोग के नतीजों के लिए विज्ञापन स्क्रिप्ट के लोड होने की संख्या में बढ़ोतरी हो सकती है. इसका ज़्यादातर हिस्सा पेज लोड होने की प्रक्रिया से पहले आता है.
अपनी साइट पर दोबारा पुष्टि करने के दौरान पुरानी जानकारी लागू करना
GPT टीम ने देखा है कि stale-while-revalidate
के साथ एचटीटीपी हेडर में आसान बदलाव करने से, कारोबार की मेट्रिक तेज़ी से बढ़ सकती हैं और उन्हें बेहतर बनाया जा सकता है. अपनी साइट पर stale-while-revalidate
लागू करने के बारे में ज़्यादा जानने के लिए, फिर से पुष्टि करने के दौरान पुरानी चीज़ों को अप-टू-डेट रखना पोस्ट देखें.