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

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

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

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

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

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

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

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

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

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

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

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

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 Authentication से पुष्टि करना ताकि एक क्लाइंट के लिए पुष्टि की जा सके.
  • 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. लिखने या पढ़ने के अनुरोधों के जवाब में, Realtime Database के नियमों के आकलन की संख्या. इस मेट्रिक को अनुरोध के नतीजे (ALLOW, DENY या ERROR) के हिसाब से बांटा जा सकता है.

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

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