डेटाबेस की परफ़ॉर्मेंस पर नज़र रखें

Firebase Realtime Database की परफ़ॉर्मेंस पर नज़र रखने और अपने ऐप्लिकेशन में संभावित समस्याओं का पता लगाने के कुछ तरीके हैं. अपने ऐप्लिकेशन के इनकमिंग और आउटगोइंग बैंडविड्थ और लोड को देखकर, आपको यह भी पता चल सकता है कि आपके बिल में क्या दिखेगा. इसके अलावा, अगर आपको कुछ गड़बड़ी दिखती है, तो अपने डेटाबेस के ऑपरेशन की साफ़ तौर पर जानकारी पाना, समस्या हल करने में मददगार हो सकता है.

इस पेज पर, Realtime Database परफ़ॉर्मेंस मॉनिटरिंग के बारे में बताया गया है. डेटाबेस के इस्तेमाल पर नज़र रखने के लिए, डेटाबेस के इस्तेमाल पर नज़र रखना लेख पढ़ें.

Realtime Database मॉनिटरिंग टूल का इस्तेमाल करना

ज़्यादा जानकारी के हिसाब से, Realtime Database की परफ़ॉर्मेंस का डेटा इकट्ठा करने के लिए, कुछ अलग-अलग टूल का इस्तेमाल किया जा सकता है.

Realtime Database प्रोफ़ाइलर टूल का इस्तेमाल करना

Realtime Database प्रोफ़ाइलर टूल, आपके डेटाबेस पर किए गए रीड/राइट ऑपरेशन की रीयल टाइम खास जानकारी देता है. इस रिपोर्ट में, इंडेक्स नहीं की गई क्वेरी के साथ-साथ, हर ऑपरेशन की स्पीड और पेलोड साइज़ की जानकारी शामिल होती है. हालांकि, इसमें पुरानी जानकारी या कनेक्शन के ओवरहेड के बारे में कोई आंकड़ा शामिल नहीं होता. साथ ही, बिलिंग के लिए खरीदार से लिए जाने वाले शुल्क का अनुमान लगाने के लिए, इसका इस्तेमाल नहीं किया जाना चाहिए.

प्रोफ़ाइलर टूल का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, अपने डेटाबेस की प्रोफ़ाइल बनाना लेख पढ़ें.

Firebase कंसोल का इस्तेमाल करना

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

Cloud Monitoring का इस्तेमाल करें

Google Cloud में मौजूद Cloud Monitoring का इस्तेमाल करके, मेट्रिक एक्सप्लोरर की मदद से अलग-अलग परफ़ॉर्मेंस मेट्रिक देखी जा सकती हैं. इसके अलावा, चार्ट की मदद से अलग-अलग डैशबोर्ड बनाए जा सकते हैं. इनमें समय के साथ परफ़ॉर्मेंस मेट्रिक के अलग-अलग कॉम्बिनेशन दिखते हैं. Realtime Database को Cloud Monitoring के साथ इंटिग्रेट करने पर, आपको ज़्यादा जानकारी मिलती है.

Cloud Monitoring सेट अप करने का तरीका, डेटाबेस के इस्तेमाल को मॉनिटर करना में बताया गया है.

परफ़ॉर्मेंस से जुड़ी समस्याओं का पता लगाने के लिए, Cloud Monitoring खास मेट्रिक का इस्तेमाल करने के बारे में सलाह पाने के लिए, नीचे दिए गए सेक्शन देखें.

Cloud Monitoring में परफ़ॉर्मेंस को मॉनिटर करना

अगर आपको परफ़ॉर्मेंस से जुड़ी समस्याएं आ रही हैं, जैसे कि अपटाइम या इंतज़ार का समय, तो इन मेट्रिक को मॉनिटर करने के लिए Cloud Monitoring का इस्तेमाल करें. ध्यान दें कि सभी मेट्रिक टाइप के नामों के आगे firebasedatabase.googleapis.com/ लगा होता है.

मेट्रिक का नाम ब्यौरा
डेटाबेस लोड

io/database_load. इस मेट्रिक का इस्तेमाल करके, यह मॉनिटर करें कि समय के साथ, अनुरोधों को प्रोसेस करने के लिए आपके उपलब्ध डेटाबेस बैंडविड्थ का कितना हिस्सा इस्तेमाल किया जा रहा है. जब आपका डेटाबेस लोड, उपलब्ध बैंडविड्थ के करीब पहुंच जाता है, तो आपको परफ़ॉर्मेंस से जुड़ी समस्याएं दिख सकती हैं. इससे यह भी देखा जा सकता है कि कौनसे ऑपरेशन टाइप सबसे ज़्यादा लोड का इस्तेमाल कर रहे हैं और उसी हिसाब से समस्या हल की जा सकती है. एक मिनट से ज़्यादा समय लेने वाले ऑपरेशन पर, रिपोर्ट किया गया लोड 100% से ज़्यादा हो सकता है. ऐसा तब होता है, जब ऑपरेशन पूरा होने के बाद, कई मिनटों में इस्तेमाल किए गए कुल बैंडविड्थ को एक मिनट के रिपोर्टिंग इंटरवल में छोटा कर दिया जाता है.

ज़्यादा खर्च होने पर नेटवर्क बंद होना

network/disabled_for_overages. यह मेट्रिक, आपके Realtime Database के बैंडविथ या नेटवर्क की सीमाओं से ज़्यादा इस्तेमाल करने पर, होने वाली रुकावटों की जानकारी दिखाती है.

तय सीमा से ज़्यादा स्टोरेज इस्तेमाल करने पर, स्टोरेज की सुविधा बंद होना

storage/disabled_for_overages. इस मेट्रिक से, उन सभी रुकावटों के बारे में पता चलता है जो Realtime Database के स्टोरेज की तय सीमा से ज़्यादा डेटा सेव करने पर हो सकती हैं.

काम की अहम जानकारी और खास जानकारी पाने के लिए, अपने डैशबोर्ड पर चार्ट में मेट्रिक जोड़ें. उदाहरण के लिए, ये कॉम्बिनेशन आज़माएं:

  • ऑपरेशन: io/database_load मेट्रिक का इस्तेमाल करके देखें कि हर ऑपरेशन टाइप में आपके पूरे डेटाबेस लोड का कितना इस्तेमाल किया जाता है. अलग-अलग तरह के ऑपरेशन की समस्या हल करने के लिए, io/database_load को टाइप के हिसाब से ग्रुप करना न भूलें.
  • स्टोरेज: Realtime Database स्टोरेज की सीमाओं के हिसाब से, स्टोरेज के इस्तेमाल को मॉनिटर करने के लिए, storage/limit और storage/total_bytes का इस्तेमाल करें. storage/disabled_for_overages को जोड़कर यह भी देखा जा सकता है कि स्टोरेज की तय सीमा से ज़्यादा स्टोरेज इस्तेमाल करने की वजह से, आपके ऐप्लिकेशन को कभी भी बंद होना पड़ा या नहीं.
  • एसएसएल ओवरहेड: network/https_requests_count का इस्तेमाल करके, यह मॉनिटर करें कि आपके डेटाबेस को कितने एसएसएल कनेक्शन के अनुरोध मिले. साथ ही, reused_ssl_session फ़िल्टर की मदद से, उन अनुरोधों को अलग करें जिनमें किसी मौजूदा एसएसएल सेशन टिकट का फिर से इस्तेमाल किया गया है. network/sent_bytes_count और network/sent_payload_and_protocol_bytes_count के आधार पर, यह मेज़र किया जा सकता है कि आपका ऐप्लिकेशन एसएसएल सेशन टिकट का बेहतर तरीके से इस्तेमाल कर रहा है या नहीं.

Cloud Monitoring की मदद से, सूचनाएं भी सेट अप की जा सकती हैं. साथ ही, Realtime Database मेट्रिक के आधार पर सूचनाएं भी पाई जा सकती हैं. उदाहरण के लिए, आपके पास यह चुनने का विकल्प होता है कि अगर आपका io/database_load किसी थ्रेशोल्ड के करीब पहुंच जाए, तो आपको सूचना मिले.

Cloud Monitoring की मदद से उपलब्ध Realtime Database मेट्रिक की पूरी सूची देखें.

डेटाबेस लोड करने के टाइप

io/database_load मेट्रिक से यह भी पता चलता है कि किस तरह के ऑपरेशन की वजह से लोड हुआ. यहां उन ऑपरेशन के टाइप दिए गए हैं जिन्हें मेज़र किया जा सकता है:

  • admin: एडमिन के काम, जैसे कि नियम सेट करना और प्रोजेक्ट का मेटाडेटा पढ़ना.
  • auth: किसी एक क्लाइंट के लिए, सेवा खातों या Firebase की पुष्टि करने की सुविधा से पुष्टि करना.
  • client_management: एक साथ कई कनेक्शन जोड़ने और हटाने की सुविधा को मैनेज करना इसमें, हटाने पर डिसकनेक्ट करने की कार्रवाइयां चलाना शामिल है.
  • get_shallow: shallow=true की मदद से, REST GET से डेटा हासिल करना.
  • get: REST GET ऑपरेशन मैनेज करना.
  • listen: कनेक्ट किए गए क्लाइंट से, on और once ऑपरेशन के लिए शुरुआती डेटा हासिल करना.
  • on_disconnect: क्लाइंट से डिसकनेक्ट करने की कार्रवाइयों को रजिस्टर करना.
  • put: क्लाइंट या REST PUT ऑपरेशन से set ऑपरेशन मैनेज करना.
  • transaction: शर्तों के साथ किए गए REST अनुरोधों या क्लाइंट से किए गए transaction ऑपरेशन से लेन-देन करना.
  • update: update ऑपरेशन या REST PATCH अनुरोधों को मैनेज करना.

Cloud Monitoring में सुरक्षा के नियमों पर नज़र रखना

सुरक्षा नियमों के आकलन का विश्लेषण भी किया जा सकता है. ध्यान दें कि सभी मेट्रिक टाइप के नामों के आगे firebasedatabase.googleapis.com/ होता है.

मेट्रिक का नाम ब्यौरा
नियमों का आकलन rules/evaluation_count. डेटा को लिखने या पढ़ने के अनुरोधों के जवाब में, रीयल टाइम डेटाबेस के नियमों के आकलन की संख्या. इस मेट्रिक को अनुरोध के नतीजे (अनुमति दें, अस्वीकार करें या गड़बड़ी) के हिसाब से बांटा जा सकता है.

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

Cloud Monitoring की मदद से उपलब्ध Realtime Database मेट्रिक की पूरी सूची देखें.