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

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

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

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

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

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

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

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

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

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

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

Google Cloud के Cloud Monitoring की मदद से, मेट्रिक एक्सप्लोरर का इस्तेमाल करके, अलग-अलग परफ़ॉर्मेंस मेट्रिक देखी जा सकती हैं. इसके अलावा, ऐसे चार्ट वाले अलग-अलग डैशबोर्ड बनाए जा सकते हैं जो समय के साथ परफ़ॉर्मेंस मेट्रिक के अलग-अलग कॉम्बिनेशन दिखाते हैं. 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 को टाइप के हिसाब से ग्रुप करें.
  • स्टोरेज: storage/limit और storage/total_bytes का इस्तेमाल करके, स्टोरेज के इस्तेमाल पर नज़र रखें. इससे आपको पता चलेगा कि Realtime Database स्टोरेज की तय सीमा के हिसाब से, कितना स्टोरेज इस्तेमाल किया जा रहा है. 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: क्लाइंट से set ऑपरेशन या REST PUT ऑपरेशन मैनेज करना.
  • transaction: शर्त वाले REST अनुरोधों से लेन-देन करना या क्लाइंट से transaction कार्रवाई करना.
  • update: update कार्रवाइयों या REST PATCH अनुरोधों को मैनेज करना.

Cloud Monitoring में सुरक्षा नियमों को मॉनिटर करना

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

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

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

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