उपयोगकर्ता के हिसाब से बनाई गई परफ़ॉर्मेंस मेट्रिक

फ़िलिप वॉल्टन
फ़िलिप वॉल्टन

हम सभी ने यह सुना है कि परफ़ॉर्मेंस कितनी ज़रूरी है. हालांकि, जब हम परफ़ॉर्मेंस के बारे में बात करते हैं और वेबसाइटों को "तेज़" बनाने की बात करते हैं, तब इसका क्या मतलब होता है?

सच यह है कि प्रॉडक्ट की परफ़ॉर्मेंस इससे जुड़ी होती है:

  • कोई साइट एक उपयोगकर्ता के लिए तेज़ हो सकती है (कमज़ोर डिवाइस वाले तेज़ नेटवर्क पर), लेकिन दूसरे उपयोगकर्ता के लिए साइट धीमी हो सकती है (कमज़ोर डिवाइस वाले धीमे नेटवर्क पर).
  • ऐसा हो सकता है कि दो साइट एक ही समय में पूरी तरह से लोड हों. हालांकि, इनमें से किसी एक साइट पर तेज़ी से लोड हो सकता है (ऐसा तब होता है, जब कॉन्टेंट धीरे-धीरे लोड होता है. इस वजह से, आखिर तक कुछ भी दिखाने के लिए इंतज़ार नहीं करना पड़ता).
  • कोई साइट जल्दी से लोड होने के लिए दिख सकती है, लेकिन उसके बाद उपयोगकर्ता इंटरैक्शन के लिए धीरे जवाब देती है (या बिलकुल भी जवाब नहीं देती).

इसलिए, परफ़ॉर्मेंस की बात करते समय सटीक होना ज़रूरी है. साथ ही, परफ़ॉर्मेंस को मकसद के पैमाने के हिसाब से देखें, जिसे आंकड़ों के हिसाब से मापा जा सकता है. इन शर्तों को metrics कहा जाता है.

हालांकि, कोई मेट्रिक किसी मकसद के मानदंड पर आधारित होती है और उसे मात्रा के हिसाब से मापे जा सकता है, इसलिए इसका हमेशा यह मतलब नहीं होता कि ये मेज़रमेंट काम के हैं.

मेट्रिक तय करना

अब तक, वेब की परफ़ॉर्मेंस को load इवेंट से मेज़र किया जाता है. हालांकि, किसी पेज के लाइफ़साइकल में load एक सटीक पल है, लेकिन यह ज़रूरी नहीं है कि वह पल उपयोगकर्ता के लिए ज़रूरी हो.

उदाहरण के लिए, सर्वर तुरंत "लोड" होने वाले कम से कम पेज से रिस्पॉन्स दे सकता है. हालांकि, इसके बाद यह कॉन्टेंट को फ़ेच करने और पेज पर किसी भी चीज़ को दिखाने से रोक देता है. ऐसा load इवेंट के चालू होने के कुछ सेकंड बाद तक होता है. ऐसा हो सकता है कि तकनीकी तौर पर, ऐसे पेज को लोड होने में ज़्यादा समय लगे, लेकिन वह समय इस हिसाब से नहीं होगा कि पेज लोड होने में उपयोगकर्ता कैसा महसूस कर रहा है.

पिछले कुछ सालों से, Chrome टीम के सदस्यों ने W3C वेब परफ़ॉर्मेंस वर्किंग ग्रुप के साथ मिलकर, नए एपीआई और मेट्रिक के सेट का स्टैंडर्ड तय करने के लिए काम किया है. ये एपीआई और मेट्रिक, वेब पेज की परफ़ॉर्मेंस को बेहतर तरीके से मापते हैं.

यह पक्का करने के लिए कि मेट्रिक उपयोगकर्ताओं के लिए काम की हों, हम उन्हें कुछ अहम सवालों के आधार पर तैयार करते हैं:

क्या ऐसा हो रहा है? क्या नेविगेशन शुरू हो गया? क्या सर्वर ने जवाब दे दिया है?
क्या यह उपयोगी है? क्या इतना कॉन्टेंट रेंडर किया गया है कि उपयोगकर्ता उससे जुड़ सकें?
क्या इसका इस्तेमाल किया जा सकता है? क्या उपयोगकर्ता, पेज से इंटरैक्ट कर सकते हैं या यह व्यस्त है?
क्या यह गेम दिलचस्प है? क्या बातचीत के दौरान आसान और नैचुरल तरीके से बातचीत की जा रही है? इसमें कोई रुकावट या झंझट भी नहीं है?

मेट्रिक को मेज़र करने का तरीका

परफ़ॉर्मेंस मेट्रिक को आम तौर पर, इन दो में से किसी एक तरीके से मेज़र किया जाता है:

  • लैब में: एक नियमित और कंट्रोल किए जा रहे एनवायरमेंट में पेज लोड को सिम्युलेट करने के लिए, टूल का इस्तेमाल करना
  • फ़ील्ड में: असल उपयोगकर्ता, पेज लोड कर रहे हैं और उसके साथ इंटरैक्ट कर रहे हैं

दोनों में से कोई भी विकल्प, दूसरे विकल्प की तुलना में बेहतर या खराब नहीं है. आम तौर पर, अच्छी परफ़ॉर्मेंस देखने के लिए, आप आम तौर पर दोनों का इस्तेमाल करना चाहते हैं.

लैब में

नई सुविधाएं बनाते समय लैब में परफ़ॉर्मेंस की जांच करना ज़रूरी है. प्रोडक्शन में सुविधाओं के रिलीज़ होने से पहले, असली उपयोगकर्ताओं पर उनकी परफ़ॉर्मेंस की विशेषताओं को मापना नामुमकिन है. इसलिए, सुविधा रिलीज़ होने से पहले लैब में उनका टेस्ट करना परफ़ॉर्मेंस रिग्रेशन को रोकने का सबसे अच्छा तरीका है.

मैदान में

दूसरी ओर, लैब में टेस्ट करना अच्छा परफ़ॉर्म करने का अच्छा तरीका है. हालांकि, यह ज़रूरी नहीं है कि इससे यह पता चले कि आपकी साइट पर आने वाले सभी लोगों का अनुभव कैसा रहा.

किसी साइट की परफ़ॉर्मेंस में लोगों की डिवाइस क्षमता और उनके नेटवर्क की स्थितियों के आधार पर, बहुत ज़्यादा उतार-चढ़ाव हो सकता है. यह इस आधार पर भी अलग-अलग हो सकता है कि उपयोगकर्ता, पेज से इंटरैक्ट कर रहा है या कैसे.

इसके अलावा, ज़रूरी नहीं कि पेज लोड भी तय किए गए हों. उदाहरण के लिए, दिलचस्पी के मुताबिक कॉन्टेंट या विज्ञापन लोड करने वाली साइटों पर, हर उपयोगकर्ता की परफ़ॉर्मेंस से जुड़े बहुत अलग-अलग लक्षण दिख सकते हैं. लैब टेस्ट से इन अंतर को पता नहीं लगाया जा सकता.

आपकी साइट, उपयोगकर्ताओं के लिए कैसा परफ़ॉर्म कर रही है, यह जानने का सिर्फ़ एक तरीका है. इसके लिए, अपनी साइट की परफ़ॉर्मेंस का आकलन करें, क्योंकि वे उपयोगकर्ता उसे लोड कर रहे होते हैं और उसके साथ इंटरैक्ट कर रहे होते हैं. मेज़रमेंट के इस टाइप को आम तौर पर असली उपयोगकर्ता की निगरानी करना या कम शब्दों में आरयूएम कहा जाता है.

अलग-अलग तरह की मेट्रिक

ऐसी कई दूसरी तरह की मेट्रिक भी होती हैं जो इस बात से तय होती हैं कि उपयोगकर्ता कैसा परफ़ॉर्म कर रहे हैं.

  • लोड होने की अनुमानित स्पीड: कोई पेज अपने सभी विज़ुअल एलिमेंट को स्क्रीन पर कितनी जल्दी लोड और रेंडर कर सकता है.
  • लोड होने में लगने वाला समय: पेज कितनी तेज़ी से लोड होता है और किसी ज़रूरी JavaScript कोड को एक्ज़ीक्यूट कर सकता है, ताकि कॉम्पोनेंट, उपयोगकर्ता इंटरैक्शन का तुरंत जवाब दे सकें
  • रनटाइम का रिस्पॉन्स: पेज लोड होने के बाद, पेज कितनी तेज़ी से यूज़र इंटरैक्शन का जवाब दे सकता है.
  • विज़ुअल स्टैबिलिटी: क्या पेज पर मौजूद एलिमेंट इस तरह शिफ़्ट होते हैं कि उपयोगकर्ता उनकी उम्मीद नहीं करते और उनके इंटरैक्शन में रुकावट पैदा हो सकती है?
  • स्मूदता: क्या ट्रांज़िशन और ऐनिमेशन, एक जैसी फ़्रेम दर पर रेंडर होते हैं और एक स्थिति से दूसरी स्थिति में जाते हैं?

ऊपर दी गई सभी तरह की परफ़ॉर्मेंस मेट्रिक को देखते हुए, यह समझ आ जाता है कि कोई भी एक मेट्रिक, किसी पेज की परफ़ॉर्मेंस से जुड़ी सभी विशेषताओं को कैप्चर करने के लिए काफ़ी नहीं है.

मेज़र करने के लिए अहम मेट्रिक

इस सूची में ऐसी मेट्रिक शामिल हैं जो उपयोगकर्ताओं के काम की परफ़ॉर्मेंस के कई पहलुओं को मेज़र करती हैं. हालांकि, इसमें हर चीज़ शामिल नहीं है. उदाहरण के लिए, फ़िलहाल रनटाइम के दौरान जवाब देने और आसानी से काम करने के बारे में जानकारी नहीं दी गई है.

कुछ मामलों में, जो मेट्रिक मौजूद नहीं हैं उन्हें कवर करने के लिए नई मेट्रिक लॉन्च की जाएंगी. हालांकि, अन्य मामलों में सबसे अच्छी मेट्रिक वे होंगी जो आपकी साइट के हिसाब से खास तौर पर तैयार की गई हों.

कस्टम मेट्रिक

ऊपर दी गई परफ़ॉर्मेंस मेट्रिक से, वेब पर मौजूद ज़्यादातर साइटों की परफ़ॉर्मेंस की विशेषताओं को बेहतर तरीके से समझने में मदद मिलती है. अगर साइटों की मेट्रिक एक जैसी हैं, तो बेहतर होता है कि वे साइटों की परफ़ॉर्मेंस की तुलना, अपने प्रतियोगियों के प्रॉडक्ट की परफ़ॉर्मेंस के साथ कर सकें.

हालांकि, कई बार ऐसा भी हो सकता है कि कोई खास साइट कुछ इस तरह से यूनीक हो जिसमें पूरी परफ़ॉर्मेंस को कैप्चर करने के लिए ज़्यादा मेट्रिक की ज़रूरत हो. उदाहरण के लिए, एलसीपी मेट्रिक का मकसद इस बात का आकलन करना है कि पेज का मुख्य कॉन्टेंट कब लोड हो रहा है. हालांकि, कुछ मामलों में ऐसा भी हो सकता है कि सबसे बड़ा एलिमेंट, पेज के मुख्य कॉन्टेंट का हिस्सा न हो. इसलिए, हो सकता है कि एलसीपी काम का न हो.

ऐसे मामलों को हल करने के लिए, वेब परफ़ॉर्मेंस वर्किंग ग्रुप ने कम लेवल वाले स्टैंडर्ड एपीआई भी दिए हैं. ये एपीआई, आपकी कस्टम मेट्रिक को लागू करने के लिए काम के हो सकते हैं:

अपनी साइट की परफ़ॉर्मेंस से जुड़ी खास विशेषताओं को मापने के लिए, इन एपीआई का इस्तेमाल करने का तरीका जानने के लिए, कस्टम मेट्रिक की गाइड देखें.