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