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

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

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

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

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

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

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

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

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

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

  1. useStringDeduplication प्रॉपर्टी के लिए टोकन ढूंढना
  2. Message Processor पर useStringDeduplication चालू करना

useStringDeduplication प्रॉपर्टी के लिए टोकन ढूंढना

नीचे दिए गए चरणों में, useStringDeduplication के लिए टोकन ढूंढने का तरीका बताया गया है:

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

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

    conf_system_useStringDeduplication

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

Apigee Message Processors पर स्ट्रिंग डिडुप्लीकेशन की सुविधा चालू करने का तरीका यहां बताया गया है:

  1. मैसेज प्रोसेसर मशीन पर मौजूद /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. अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो सभी मैसेज प्रोसेसर पर यह तरीका दोहराएं.

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

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

आपने Message Processor पर String Deduplication की सुविधा चालू करने के लिए, 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

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

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

आगे क्या?

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