उन्नत प्रदर्शन के लिए कस्टम मेट्रिक्स का उपयोग करके कैश हिट्स को ट्रैक करें
<पी> ऐपसिग्नल का उपयोग करने वाला ऐप चलाने वाला प्रत्येक सर्वर हर 30 सेकंड में हमारे पुश एपीआई को नमूने और मेट्रिक्स का एक संग्रह भेजता है। <पी> प्रत्येक अनुरोध में एक कुंजी होती है जिसका उपयोग हम यह निर्धारित करने के लिए करते हैं कि डेटा किस ऐप से आया है। ऐसा करने के लिए, हमें प्रत्येक आने वाले अनुरोध के लिए ऐप ढूंढने के लिए अपने डेटाबेस से पूछताछ करनी होगी। प्रति माह तीस अरब अनुरोधों के साथ, हम AppSignal को तेज़ बनाने के लिए प्रश्नों की संख्या को कम करने के तरीके खोजने का लगातार प्रयास कर रहे हैं। <पी> हमने अपने डेटाबेस क्लस्टर पर प्रश्नों की संख्या कम करने के लिए कैशिंग लागू की। जब भी हम डेटाबेस से कोई ऐप लाते हैं, तो हम उसे एक मिनट के लिए मेमकैच्ड में स्टोर करते हैं। इस परिवर्तन को उत्पादन में लागू करने के बाद, हमने पाया कि हम अधिक कर रहे हैं पहले की तुलना में प्रश्न. ऐसा लग रहा था कि कैश बहुत बार अमान्य हो गया था। यह पता लगाने के लिए कि ऐसा कहां हुआ, हमने यह पता लगाने के लिए कुछ कस्टम मेट्रिक्स जोड़े कि कैश कहां अनुचित तरीके से अमान्य किया गया था। <पी> ऐसे कुछ स्थान हैं जहां हम कैश को अमान्य कर देते हैं, जैसे कि जब पुश संसाधित समय अपडेट किया जाता है या जब हम एक नए नेमस्पेस का पता लगाते हैं। <पी> हमने यह निर्धारित करने के लिए कई काउंटर जोड़े कि इनमें से कौन सा कैश अमान्यकरण दोषी था। इस उदाहरण में हम app.cache.invalidate बढ़ाते हैं सत्यापन की कुल संख्या की गणना करने के लिए काउंटर, और app.cache.invalidate_push_time जैसी विशिष्ट कुंजियों का उपयोग करें और app.cache.invalidate_namespaces विशिष्ट अमान्यताओं के लिए। <पी> उपरोक्त कस्टम मेट्रिक्स को जोड़कर, हम समय के साथ अपने कैश हिट्स को ग्राफ़ करने में सक्षम थे। यह तुरंत स्पष्ट हो गया कि कौन सी कैश कुंजियाँ प्रश्नों में वृद्धि का कारण बनीं। app.cache.invalidate_namespaces प्रत्येक अनुरोध के लिए कुंजी अमान्य कर दी गई थी। <पी>
<पी> कैश करने योग्य अनुरोधों की कुल संख्या app.cache.maybe के रूप में गिना जाता है . पी> <पी> इस समस्या के समाधान को तैनात करने के बाद, जब तक किसी ऐप के नामस्थान अपडेट नहीं किए जाते, तब तक अमान्यकरण की संख्या शून्य हो गई। <पी>
<पी> कस्टम मेट्रिक्स जोड़ने से यह समझना आसान हो जाता है कि कहां, कब और कितनी बार क्या हो रहा है। इस मामले में, कैश अमान्यताओं की संख्या जानने और उन्हें पढ़ने योग्य ग्राफ़ में दिखाने से हमें किसी समस्या का तुरंत पता लगाने में मदद मिली। एक निश्चित मान बढ़ाने और डैशबोर्ड बनाने के लिए बस कोड की कुछ पंक्तियों की आवश्यकता होती है। <पी> यदि आपके पास कस्टम मेट्रिक्स के बारे में कोई प्रश्न हैं और क्या हम उन्हें आपके एप्लिकेशन में सेट करने में आपकी सहायता कर सकते हैं तो हमें बताएं। हमें मदद करने में ख़ुशी होगी!
रॉबर्ट बीकमैन
<पी> एक सह-संस्थापक के रूप में, रॉबर्ट ने हमारी पहली प्रतिबद्धता लिखी। वह हमारा सपोर्ट रोल-मॉडल भी है और कोड के सभी छोटे-छोटे विवरणों के बारे में जानता है। यात्राएँ और तस्वीरें (एक ही समय में)। <पी> रॉबर्ट बीकमैन द्वारा सभी लेख