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


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

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