परफ़ॉर्मेंस ऑप्टिमाइज़ेशन की शुरुआत, अहम मेट्रिक की पहचान करने से होती है. ये मेट्रिक आम तौर पर, इंतज़ार के समय और थ्रूपुट से जुड़ी होती हैं. इन मेट्रिक को कैप्चर और ट्रैक करने के लिए, निगरानी की सुविधा जोड़ने से ऐप्लिकेशन की कमज़ोरियां सामने आती हैं. मेट्रिक की मदद से, परफ़ॉर्मेंस मेट्रिक को बेहतर बनाने के लिए ऑप्टिमाइज़ेशन किया जा सकता है.
इसके अलावा, कई निगरानी टूल की मदद से, अपनी मेट्रिक के लिए चेतावनियां सेट अप की जा सकती हैं. इससे, किसी तय थ्रेशोल्ड पर पहुंचने पर आपको सूचना मिलती है. उदाहरण के लिए, फ़ेल हुए अनुरोधों का प्रतिशत सामान्य लेवल के x% से ज़्यादा होने पर, सूचना पाने के लिए चेतावनी सेट अप की जा सकती है. निगरानी टूल की मदद से, यह पता लगाया जा सकता है कि सामान्य परफ़ॉर्मेंस कैसी दिखती है. साथ ही, इंतज़ार के समय, गड़बड़ियों की संख्या, और अन्य अहम मेट्रिक में होने वाली असामान्य बढ़ोतरी की पहचान की जा सकती है. कारोबार के लिए अहम समयसीमा के दौरान या प्रोडक्शन में नया कोड पुश करने के बाद, इन मेट्रिक की निगरानी करना खास तौर पर ज़रूरी है.
इंतज़ार के समय से जुड़ी मेट्रिक की पहचान करना
पक्का करें कि यूज़र इंटरफ़ेस (यूआई) जितना हो सके उतना रिस्पॉन्सिव हो. ध्यान दें कि उपयोगकर्ता, मोबाइल ऐप्लिकेशन से और भी बेहतर स्टैंडर्ड की उम्मीद करते हैं. बैकएंड सेवाओं के लिए भी इंतज़ार के समय को मेज़र और ट्रैक किया जाना चाहिए. ऐसा इसलिए, क्योंकि अगर इस पर नज़र नहीं रखी गई, तो इससे थ्रूपुट से जुड़ी समस्याएं हो सकती हैं.
ट्रैक करने के लिए सुझाई गई मेट्रिक में ये शामिल हैं:
- अनुरोध की अवधि
- सबसिस्टम के ग्रेन्यूलैरिटी लेवल पर अनुरोध की अवधि (जैसे, एपीआई कॉल)
- जॉब की अवधि
थ्रूपुट से जुड़ी मेट्रिक की पहचान करना
थ्रूपुट, तय समय में पूरे किए गए अनुरोधों की कुल संख्या को मेज़र करने का तरीका है. सबसिस्टम के इंतज़ार के समय का असर थ्रूपुट पर पड़ सकता है. इसलिए, थ्रूपुट को बेहतर बनाने के लिए, इंतज़ार के समय को ऑप्टिमाइज़ करना पड़ सकता है.
ट्रैक करने के लिए यहां कुछ सुझाई गई मेट्रिक दी गई हैं:
- क्वेरी प्रति सेकंड
- हर सेकंड में ट्रांसफ़र किए गए डेटा का साइज़
- हर सेकंड में I/O कार्रवाइयों की संख्या
- संसाधन का इस्तेमाल, जैसे कि सीपीयू या मेमोरी का इस्तेमाल
- प्रोसेसिंग बैकलॉग का साइज़, जैसे कि पब/सब या थ्रेड की संख्या
सिर्फ़ औसत नहीं
परफ़ॉर्मेंस को मेज़र करने में, सिर्फ़ औसत परफ़ॉर्मेंस को देखना एक आम गलती है. हालांकि, यह तरीका काम का है, लेकिन इससे इंतज़ार के समय के डिस्ट्रिब्यूशन के बारे में जानकारी नहीं मिलती. ट्रैक करने के लिए, परफ़ॉर्मेंस पर्सेंटाइल एक बेहतर मेट्रिक है. उदाहरण के लिए, किसी मेट्रिक के लिए 50वां/75वां/90वां/99वां पर्सेंटाइल.
आम तौर पर, ऑप्टिमाइज़ेशन दो चरणों में किया जा सकता है. सबसे पहले, 90वें पर्सेंटाइल के इंतज़ार के समय के लिए ऑप्टिमाइज़ करें. इसके बाद, 99वें पर्सेंटाइल पर विचार करें. इसे टेल लेटेंसी भी कहा जाता है. यह अनुरोधों का वह छोटा हिस्सा होता है जिसे पूरा होने में ज़्यादा समय लगता है.
ज़्यादा जानकारी वाले नतीजे पाने के लिए, सर्वर-साइड मॉनिटरिंग
आम तौर पर, मेट्रिक को ट्रैक करने के लिए, सर्वर-साइड प्रोफ़ाइलिंग को प्राथमिकता दी जाती है. सर्वर साइड को इंस्ट्रुमेंट करना आम तौर पर ज़्यादा आसान होता है. इससे ज़्यादा विस्तृत डेटा को ऐक्सेस किया जा सकता है. साथ ही, कनेक्टिविटी की समस्याओं से इस पर कम असर पड़ता है.
एंड-टू-एंड विज़िबिलिटी के लिए, ब्राउज़र मॉनिटरिंग
ब्राउज़र प्रोफ़ाइलिंग से, एंड यूज़र के अनुभव के बारे में ज़्यादा जानकारी मिल सकती है. इससे यह पता चल सकता है कि किन पेजों पर अनुरोधों को पूरा होने में ज़्यादा समय लगता है. इसके बाद, ज़्यादा विश्लेषण के लिए, सर्वर-साइड मॉनिटरिंग से इसका संबंध देखा जा सकता है.
Google Analytics, पेज लोड होने में लगने वाले समय की निगरानी करने की सुविधा देता है. यह सुविधा, पेज के समय की रिपोर्ट में उपलब्ध होती है. इससे आपकी साइट पर उपयोगकर्ता के अनुभव को समझने के लिए कई काम के व्यू मिलते हैं. इनमें ये शामिल हैं:
- पेज लोड होने में लगने वाला समय
- रीडायरेक्ट होने में लगने वाला समय
- सर्वर से जवाब मिलने में लगने वाला समय
क्लाउड में मॉनिटरिंग
आपके ऐप्लिकेशन की परफ़ॉर्मेंस मेट्रिक को कैप्चर और मॉनिटर करने के लिए, कई टूल इस्तेमाल किए जा सकते हैं. उदाहरण के लिए, Google Cloud Logging का इस्तेमाल करके, Google Cloud Project में परफ़ॉर्मेंस मेट्रिक लॉग की जा सकती हैं. इसके बाद, लॉग की गई मेट्रिक को मॉनिटर और सेगमेंट करने के लिए, Google Cloud Monitoring में डैशबोर्ड सेट अप किए जा सकते हैं.
Python क्लाइंट लाइब्रेरी में, कस्टम इंटरसेप्टर से Google Cloud Logging में लॉग करने के उदाहरण के लिए, लॉगिंग गाइड देखें. Google Cloud में यह डेटा उपलब्ध होने पर, लॉग किए गए डेटा के आधार पर मेट्रिक बनाई जा सकती हैं. इससे, Google Cloud Monitoring की मदद से अपने ऐप्लिकेशन की विज़िबिलिटी हासिल की जा सकती है. Google Cloud Logging को भेजे गए लॉग का इस्तेमाल करके मेट्रिक बनाने के लिए, उपयोगकर्ता के तय किए गए लॉग-आधारित मेट्रिक से जुड़ी गाइड का पालन करें.
इसके अलावा, अपने कोड में मेट्रिक तय करने और उन्हें लॉग से अलग, सीधे Monitoring में भेजने के लिए, Monitoring क्लाइंट लाइब्रेरी का इस्तेमाल किया जा सकता है.
लॉग-आधारित मेट्रिक का उदाहरण
मान लें कि आपको अपने ऐप्लिकेशन में गड़बड़ी की दर को बेहतर तरीके से समझने के लिए, is_fault वैल्यू की निगरानी करनी है. लॉग से is_fault वैल्यू को निकालकर
उसे नई काउंटर मेट्रिक में जोड़ा जा सकता है, ErrorCount.


Cloud Logging में, लेबल की मदद से अपनी मेट्रिक को लॉग में मौजूद अन्य डेटा के आधार पर कैटगरी में बांटा जा सकता है. Google Ads API के तरीके के हिसाब से, गड़बड़ी की संख्या को देखने के लिए, Cloud Logging को भेजे गए method
फ़ील्ड के लिए लेबल कॉन्फ़िगर किया जा सकता है.
ErrorCount मेट्रिक और Method लेबल कॉन्फ़िगर होने के बाद, नया
चार्ट बनाने के लिए, Monitoring डैशबोर्ड में ErrorCount की निगरानी की जा सकती है. इसे Method के हिसाब से ग्रुप किया जा सकता है.

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