मैसेज प्रोसेसर पर स्ट्रिंग डुप्लीकेट होने की सुविधा चालू करना

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

इस दस्तावेज़ में बताया गया है कि Apigee Edge के मैसेज प्रोसेसर पर, स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा कैसे चालू की जा सकती है.

स्ट्रिंग डिडुप्लीकेशन की सुविधा, Java की एक सुविधा है. इसकी मदद से, Java ऐप्लिकेशन में डुप्लीकेट स्ट्रिंग ऑब्जेक्ट में सेव की गई मेमोरी को सेव किया जा सकता है. यह, Java हीप मेमोरी में स्ट्रिंग ऑब्जेक्ट के मेमोरी फ़ुटप्रिंट को कम करता है. ऐसा करने के लिए, डुप्लीकेट या एक जैसी स्ट्रिंग वैल्यू को एक जैसा वर्ण अरे शेयर किया जाता है.

Apigee Edge Message प्रोसेसर, Java पर आधारित एक कॉम्पोनेंट है. किसी मैसेज प्रोसेसर में स्ट्रिंग की डुप्लीकेट कॉपी हटाने की तकनीक का इस्तेमाल करने से, मेमोरी के इस्तेमाल को कम करके आपके एपीआई प्रॉक्सी की परफ़ॉर्मेंस बेहतर हो सकती है. खास तौर पर तब, जब एपीआई प्रॉक्सी, स्ट्रिंग का ज़्यादा इस्तेमाल करते हों.

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

शुरू करने से पहले

मैसेज प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा चालू करना

इस सेक्शन में बताया गया है कि Edge मैसेज प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा कैसे चालू की जाती है. स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा को useStringDeduplication प्रॉपर्टी के ज़रिए, Message प्रोसेसर कॉम्पोनेंट पर चालू किया जा सकता है. डिफ़ॉल्ट रूप से, यह प्रॉपर्टी मैसेज प्रोसेसर पर 'गलत' पर सेट होती है. Message प्रोसेसर पर किसी भी प्रॉपर्टी को कॉन्फ़िगर करने के लिए, Edge को कॉन्फ़िगर करने का तरीका में दिए गए सिंटैक्स के मुताबिक टोकन का इस्तेमाल करें.

मैसेज प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा चालू करने के लिए, नीचे दिया गया तरीका अपनाएं:

  1. UseStringDeडुप्लीकेशन प्रॉपर्टी के लिए टोकन का पता लगाएं
  2. मैसेज प्रोसेसर पर useStringDeडुप्लीकेशन की सुविधा चालू करें

useStringDeडुप्लीकेशन प्रॉपर्टी के लिए टोकन खोजें

नीचे दिए गए चरणों में बताया गया है कि useStringDeडुप्लीकेशन की सुविधा के लिए टोकन का पता कैसे लगाया जाता है:

  1. नीचे दिए गए निर्देश का इस्तेमाल करके, Message प्रोसेसर की सोर्स डायरेक्ट्री /opt/apigee/edge-message-processor/source में useStringDeduplication प्रॉपर्टी खोजें:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
    
  2. इस निर्देश का आउटपुट, Message प्रोसेसर की प्रॉपर्टी useStringDeduplication के लिए टोकन को इस तरह दिखाता है:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}
    

    जहां {T}{/T} टैग के बीच की स्ट्रिंग उस टोकन का नाम होती है जिसे Message प्रोसेसर की .properties फ़ाइल में सेट किया जा सकता है. इसलिए, useStringDeduplication प्रॉपर्टी के लिए टोकन इस तरह का है:

    conf_system_useStringDeduplication
    

मैसेज प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा चालू करें

नीचे दिए गए चरणों में, Apigee Message प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा चालू करने का तरीका बताया गया है:

  1. किसी एडिटर में, Message प्रोसेसर मशीन पर /opt/apigee/customer/application/message-processor.properties फ़ाइल खोलें. अगर फ़ाइल पहले से मौजूद नहीं है, तो इसे बनाएं. उदाहरण के लिए:
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. इस फ़ाइल में यह लाइन जोड़ें:
    conf_system_useStringDeduplication=true
    
  3. बदलावों को सेव करें.
  4. पक्का करें कि इस प्रॉपर्टी फ़ाइल का मालिकाना हक, apigee उपयोगकर्ता के पास है. उदाहरण के लिए:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. नीचे दिए गए निर्देश का इस्तेमाल करके, मैसेज प्रोसेसर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो ये चरण सभी मैसेज प्रोसेसर पर दोहराएं.

मैसेज प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी की पुष्टि करने की सुविधा

इस सेक्शन में, मैसेज प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा चालू हो गई है या नहीं, इसकी पुष्टि करने का तरीका बताया गया है.

भले ही, आपने मैसेज प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा चालू करने के लिए conf_system_useStringDeduplication टोकन का इस्तेमाल किया हो, लेकिन आपको पुष्टि करनी होगी कि असल प्रॉपर्टी useStringDeduplication को नई वैल्यू के साथ इस तरह सेट किया गया है:

  1. /opt/apigee/edge-message-processor/conf डायरेक्ट्री में useStringDeduplication प्रॉपर्टी खोजें और देखें कि इसे नई वैल्यू के साथ सेट किया गया है या नहीं. उदाहरण के लिए:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/conf
    
  2. अगर मैसेज प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा चालू हो जाती है, तो पिछला निर्देश, system.properties फ़ाइल में नई वैल्यू दिखाता है.

    मैसेज प्रोसेसर पर स्ट्रिंग डिडुप्लीकेशन की सुविधा चालू करने के बाद, पिछले कमांड के सैंपल नतीजे इस तरह हैं:

    /opt/apigee/edge-message-processor/conf/system.properties:useStringDeduplication=true
    

    उदाहरण के तौर पर दिए गए आउटपुट में, ध्यान दें कि useStringDeduplication प्रॉपर्टी को system.properties में, नई वैल्यू true के साथ सेट किया गया है. इससे पता चलता है कि मैसेज प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी हटाने की प्रोसेस चालू है.

  3. अगर आपको अब भी useStringDeduplication प्रॉपर्टी के लिए पुरानी वैल्यू दिखती है, तो पुष्टि करें कि आपने मैसेज प्रोसेसर पर स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा चालू करने में दिए गए सभी निर्देशों का सही तरीके से पालन किया हो. अगर आपसे कोई चरण छूट गया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं.
  4. अगर अब भी स्ट्रिंग की डुप्लीकेट कॉपी हटाने की सुविधा चालू नहीं हो पा रही है, तो Apigee सहायता से संपर्क करें.

आगे क्या होगा?

मैसेज प्रोसेसर पर G1GC चालू करना