मैसेज प्रोसेसर पर L1 कैश खत्म होने की तारीख सेट करना

Apigee Edge, डेटा को एक जैसा बनाए रखने के लिए, कैश मेमोरी में सेव करने की सुविधा देता है को भी इकट्ठा किया जा सकता है. एपीआई डेटा मिलने पर, उसे कुछ समय के लिए कैश मेमोरी में सेव किया जाता है और फिर मिटा दिया जाएगा. किसी डेटा को मिटाने से पहले, उसे ज़्यादा से ज़्यादा कितनी देर तक सेव करके रखा जा सकता है इसे कैश मेमोरी की समयसीमा खत्म होने या टाइम-टू-लाइव (टीटीएल) कहा जाता है. हर कैश मेमोरी का एक डिफ़ॉल्ट टीटीएल होता है. हालांकि, कुछ मामलों में आपको टीटीएल वैल्यू को बदलना पड़ सकता है ताकि एपीआई की परफ़ॉर्मेंस को बेहतर बनाया जा सके.

कैश मेमोरी के टाइप

एपीआई डेटा को दो तरह की कैश मेमोरी में सेव किया जाता है:

  • लेवल 1 (L1): इन-मेमोरी कैश मेमोरी, जिसमें तेज़ी से ऐक्सेस होता है, लेकिन स्टोरेज कम होता है कपैसिटी.
  • लेवल 2 (L2): कैसंड्रा डेटा स्टोर में स्थायी कैश मेमोरी है, जिसमें धीमी रफ़्तार है लेकिन ज़्यादा स्टोरेज की क्षमता के साथ.

जब L1 कैश मेमोरी में मौजूद डेटा की एंट्री L1 TTL तक पहुंच जाती है, तब उसे मिटा दिया जाता है. हालांकि, एंट्री की कॉपी, L2 कैश मेमोरी में रखी जाती है (जिसमें L1 कैश मेमोरी से ज़्यादा TTL (टीटीएल) होता है), जहां अन्य मैसेज प्रोसेसर उसे ऐक्सेस कर सकते हैं. इन-मेमोरी और कैश मेमोरी के बारे में ज़्यादा जानकारी के लिए, कैश मेमोरी के स्थायी लेवल का इस्तेमाल करें.

मैक्स L1 TTL

Edge में Private Cloud के लिए, हर मैसेज के लिए ज़्यादा से ज़्यादा L1 कैश TTL सेट किया जा सकता है Max L1 TTL प्रॉपर्टी (conf_cache_max.l1.ttl.in.seconds) का इस्तेमाल करने वाला प्रोसेसर. L1 कैश में डाली गई एंट्री, Max L1 TTL वैल्यू पर पहुंचने के बाद खत्म हो जाएगी और मिटा दी जाएगी.

ध्यान दें:

  • डिफ़ॉल्ट रूप से, Max L1 TTL बंद है (वैल्यू -1 के साथ), किस मामले में, L1 कैश मेमोरी में मौजूद एंट्री का TTL तय किया जाता है पॉप-अप कैश की नीति के हिसाब से समयसीमा खत्म होने की सेटिंग (L1 और L2 कैश मेमोरी, दोनों के लिए).
  • Max L1 TTL सिर्फ़ तब काम करता है, जब इसकी वैल्यू कैश मेमोरी की समयसीमा खत्म होने से कम हो.

Max L1 TTL सेट करना

मैसेज प्रोसेसर पर Max L1 TTL को इस तरह सेट किया जा सकता है:

  1. खोलें कॉन्फ़िगरेशन फ़ाइल /opt/apigee/customer/application/message-processor.properties एक एडिटर में. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
  2. Max L1 TTL प्रॉपर्टी को मनमुताबिक वैल्यू पर सेट करें:
    conf_cache_max.l1.ttl.in.seconds = 180

    हमारा सुझाव है कि वैल्यू को 180 सेकंड रखें.

  3. पक्का करें कि प्रॉपर्टी फ़ाइल का मालिकाना हक "apigee" के पास हो उपयोगकर्ता:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. मैसेज प्रोसेसर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Max L1 TTL सेट करने के लिए दिशा-निर्देश

Max L1 TTL सेट करते समय, इन दिशा-निर्देशों को ध्यान में रखें:

  • आरपीसी से गलतियां हो सकती हैं: अगर आपको यह पता चल रहा है कि रिमोट प्रोसेस के दौरान कॉल (आरपीसी) से कब-कब कॉल छूट जाता है मैसेज प्रोसेसर (MPs)— खास तौर पर, कई डेटा सेंटर पर— ऐसा भी हो सकता है कि L1 कैश मेमोरी में मौजूद जानकारी पुरानी हो. ये एंट्री तब तक पुरानी रहेंगी, जब तक उन्हें मिटाया नहीं जाता L1 कैशे से. Max L1 TTL को कम मान पर सेट करने से कोई भी पुरानी एंट्री को हटाया जा सकता है और उनकी जगह L2 कैश मेमोरी में मौजूद नई वैल्यू का इस्तेमाल किया जा सकता है.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है समाधान: conf_cache_max.l1.ttl.in.seconds घटाएं.
  • कैंड्रा पर बहुत ज़्यादा लोड: Max L1 TTL (टीटीएल) के लिए कोई वैल्यू सेट करने पर, L1 कैश एंट्री के लिए मान सेट करने पर उसकी समयसीमा अक्सर खत्म हो जाती है, इससे L1 कैश मेमोरी छूट सकती है और L2 कैश मेमोरी हिट हो सकते हैं. L2 कैश मेमोरी को ज़्यादा बार हिट किया जाएगा, इसलिए कैसंड्रा का लोड बढ़ जाएगा.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है समाधान: conf_cache_max.l1.ttl.in.seconds बढ़ाएं

सामान्य नियम के तौर पर, Max L1 TTL को उस मान पर ट्यून करें जो फ़्रीक्वेंसी को संतुलित करता है कैसंड्रा पर संभावित लोड के साथ, RPC की वैल्यू मिस हो गई.

हमारा सुझाव है कि conf_cache_max.l1.ttl.in.seconds की वैल्यू को कम से कम पर सेट करें प्रोसेस को आसानी से जारी रखने के लिए, 180 सेकंड (3 मिनट).