एंटीपैटर्न: कैश मेमोरी में 256 केबी से ज़्यादा साइज़ का डेटा सेव करें

यहां Apigee Edge से जुड़े दस्तावेज़ देखे जा रहे हैं.
Apigee X से जुड़े दस्तावेज़ पर जाएं.
info

Apigee Edge, रनटाइम के दौरान डेटा को कैश मेमोरी में सेव करने की सुविधा देता है. इससे डेटा को लंबे समय तक सेव किया जा सकता है और तेज़ी से वापस पाया जा सकता है.

  • डेटा को सबसे पहले, मैसेज प्रोसेसर की इन-मेमोरी कैश में सेव किया जाता है. इसे L1 कैश कहा जाता है.
  • L1 कैश की सीमा, जेवीएम मेमोरी के प्रतिशत के तौर पर, इसके लिए रिज़र्व की गई मेमोरी की मात्रा पर निर्भर करती है.
  • कैश की गई एंट्री को बाद में L2 कैश में सेव किया जाता है. इसे सभी मैसेज प्रोसेसर ऐक्सेस कर सकते हैं. ज़्यादा जानकारी के लिए, नीचे दिया गया सेक्शन देखें.
  • L2 कैश में, कैश की गई एंट्री की संख्या की कोई तय सीमा नहीं होती. हालांकि, कैश की जा सकने वाली एंट्री का ज़्यादा से ज़्यादा साइज़ 256 केबी तक सीमित है. बेहतर परफ़ॉर्मेंस के लिए, कैश का साइज़ 256 केबी रखने का सुझाव दिया जाता है.

ऐंटीपैटर्न

इस ऐंटीपैटर्न में, Apigee Edge प्लैटफ़ॉर्म पर, कैश के मौजूदा साइज़ की सीमाओं से ज़्यादा डेटा सेव करने के नतीजों के बारे में बताया गया है.

अगर 256 केबी से ज़्यादा डेटा कैश किया जाता है, तो इसके ये नतीजे होते हैं:

  • एपीआई के अनुरोधों को हर मैसेज प्रोसेसर पर पहली बार चलाने के लिए, ओरिजनल सोर्स (नीति या टारगेट सर्वर) से अलग-अलग डेटा पाना होता है. ऐसा इसलिए, क्योंकि L2 कैश में 256 केबी से ज़्यादा की एंट्री उपलब्ध नहीं होती हैं.
  • L1 कैश में ज़्यादा डेटा (256 केबी से ज़्यादा) सेव करने से, प्लैटफ़ॉर्म के संसाधनों पर ज़्यादा दबाव पड़ता है. इससे L1 कैश मेमोरी तेज़ी से भर जाती है. इसलिए, अन्य डेटा के लिए कम जगह उपलब्ध होती है. नतीजतन, डेटा को उतनी तेज़ी से कैश नहीं किया जा सकेगा जितना करना चाहिए.
  • एंट्री की संख्या की सीमा पूरी होने पर, मैसेज प्रोसेसर से कैश की गई एंट्री हटा दी जाएंगी. इससे, डेटा को संबंधित मैसेज प्रोसेसर पर ओरिजनल सोर्स से फिर से फ़ेच करना पड़ता है.

दो फ़्लो डायग्राम.
  एक इमेज में, एपीआई प्रॉक्सी और मैसेज प्रोसेसर के बीच के फ़्लो दिखाए गए हैं. इस इमेज का साइज़ 256 केबी से ज़्यादा नहीं है. साथ ही, इसमें मैसेज प्रोसेसर और परसिस्टेंट स्टोरेज L2 कैश के बीच के फ़्लो भी दिखाए गए हैं. एक इमेज 256 केबी से ज़्यादा साइज़ वाली होनी चाहिए. इसमें एपीआई प्रॉक्सी और मैसेज प्रोसेसर के बीच डेटा फ़्लो और मैसेज प्रोसेसर और डेटा/रिस्पॉन्स के बीच डेटा फ़्लो दिखना चाहिए. साथ ही, यह भी दिखना चाहिए कि L2 कैश में डेटा सेव नहीं किया गया है.

असर

  • 256 केबी से ज़्यादा का डेटा, L2/परसिस्टेंट कैश में सेव नहीं किया जाएगा.
  • ओरिजनल सोर्स (नीति या टारगेट सर्वर) को बार-बार कॉल करने से, एपीआई के अनुरोधों में ज़्यादा समय लगता है.

सबसे सही तरीका

  • बेहतर परफ़ॉर्मेंस पाने के लिए, 256 केबी से कम साइज़ का डेटा कैश में सेव करने का सुझाव दिया जाता है.
  • अगर 256 केबी से ज़्यादा डेटा सेव करना है, तो ये काम करें:
    • ज़्यादा डेटा सेव करने के लिए, किसी सही डेटाबेस का इस्तेमाल करें

      या

    • डेटा को कंप्रेस करें

इस बारे में और पढ़ें