राऊटर पर I/O टाइम आउट कॉन्फ़िगर करना

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

इस दस्तावेज़ में, Apigee Edge के राऊटर पर I/O टाइम आउट को कॉन्फ़िगर करने का तरीका बताया गया है.

राऊटर पर I/O टाइम आउट उस समय को दिखाता है जिसके लिए राऊटर को कनेक्शन बनाने और अनुरोध भेजने के बाद, मैसेज प्रोसेसर से मिला जवाब को मैसेज प्रोसेसर पर भेजना होगा. राऊटर पर I/O टाइम आउट की डिफ़ॉल्ट वैल्यू 57 सेकंड है.

राऊटर के लिए I/O टाइम आउट को 57 सेकंड की डिफ़ॉल्ट वैल्यू से बढ़ाया या घटाया जा सकता है जिनमें आपकी ज़रूरतों के हिसाब से सुविधाओं और टूल की जानकारी दी गई है. इसे नीचे दिए गए तरीकों से कॉन्फ़िगर किया जा सकता है:

  • वर्चुअल होस्ट में शामिल होने पर
  • राऊटर पर

ये प्रॉपर्टी, राऊटर पर I/O टाइम आउट को कंट्रोल करती हैं:

प्रॉपर्टी का नाम जगह ब्यौरा
proxy_read_timeout वर्चुअल होस्ट

वह ज़्यादा से ज़्यादा समय बताता है जिसमें राऊटर को कनेक्ट करने और अनुरोध भेजने के बाद, मैसेज प्रोसेसर.

अगर इस टाइम आउट की अवधि में मैसेज प्रोसेसर से कोई जवाब नहीं मिलता है, तो राऊटर का समय खत्म हो गया है.

डिफ़ॉल्ट रूप से, यह प्रॉपर्टी राऊटर पर conf_load_balancing_load.balancing.driver.proxy.read.timeout प्रॉपर्टी. कॉन्टेंट बनाने डिफ़ॉल्ट वैल्यू 57 सेकंड है.

अगर इस प्रॉपर्टी में किसी खास वर्चुअल होस्ट के लिए, टाइम आउट की नई वैल्यू का इस्तेमाल किया जाता है, तो सिर्फ़ उस खास वर्चुअल होस्ट का इस्तेमाल करने वाले एपीआई प्रॉक्सी पर ही असर पड़ेगा.

conf_load_balancing_load.balancing.driver.proxy.read.timeout राऊटर

वह ज़्यादा से ज़्यादा समय बताता है जिसमें राऊटर को कनेक्ट करने और अनुरोध भेजने के बाद, मैसेज प्रोसेसर.

अगर इस टाइम आउट की अवधि में मैसेज प्रोसेसर से कोई जवाब नहीं मिलता है, तो राऊटर का समय खत्म हो गया है.

इस प्रॉपर्टी का इस्तेमाल, इस राऊटर पर मौजूद सभी वर्चुअल होस्ट के लिए किया जाता है.

इस प्रॉपर्टी की डिफ़ॉल्ट वैल्यू 57 सेकंड है.

इस प्रॉपर्टी में बताए गए तरीके से बदलाव किया जा सकता है नीचे रूटर पर I/O टाइम आउट कॉन्फ़िगर करना या आप ओवरराइट कर सकते हैं वर्चुअल होस्ट लेवल पर proxy_read_timeout प्रॉपर्टी सेट करके इस वैल्यू को सबमिट करें.

आप इस प्रॉपर्टी के लिए समय अंतराल को सेकंड के अलावा किसी अन्य रूप में सेट कर सकते हैं. इसके लिए नोटेशन:

ms: milliseconds
s:  seconds (default)
m:  minutes
h:  hours
d:  days
w:  weeks
M:  months (length of 30 days)
y:  years (length of 365 days)
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout राऊटर

यह जानकारी देता है कि राऊटर को सभी मैसेज का जवाब मिलने में कितना समय लगेगा कनेक्ट करने और हर मैसेज पर अनुरोध भेजने के बाद, प्रोसेसर प्रोसेसर.

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

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout की मौजूदा वैल्यू
  • 57 सेकंड की डिफ़ॉल्ट वैल्यू

conf_load_balancing_load.balancing.driver.proxy.read.timeout की तरह प्रॉपर्टी के लिए, आप डिफ़ॉल्ट (सेकंड) के अलावा कोई अन्य समय अंतराल तय कर सकते हैं.

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

इस दस्तावेज़ में दिया गया तरीका अपनाने से पहले, पक्का करें कि आपने इन विषयों को समझ लिया हो:

वर्चुअल होस्ट में I/O टाइम आउट कॉन्फ़िगर करना

यह सेक्शन बताता है कि संगठन और माहौल के बारे में बात करते हैं. I/O टाइम आउट को वर्चुअल होस्ट में प्रॉपर्टी proxy_read_timeout, जो I/O टाइम आउट की वैल्यू को सेकंड में दिखाती है.

इनमें से किसी एक तरीके का इस्तेमाल करके, वर्चुअल होस्ट को कॉन्फ़िगर किया जा सकता है:

  • Edge यूज़र इंटरफ़ेस (यूआई)
  • Edge API

Edge यूज़र इंटरफ़ेस (यूआई)

Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके वर्चुअल होस्ट को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

  1. Edge UI में लॉगिन करें.
  2. एडमिन > वर्चुअल होस्ट.
  3. वह एनवायरमेंट चुनें जिसमें आपको यह बदलाव करना है.
  4. वह खास वर्चुअल होस्ट चुनें जिसके लिए आपको नया होस्ट कॉन्फ़िगर करना है I/O टाइम आउट मान.
  5. प्रॉपर्टी में जाकर, प्रॉक्सी रीड टाइमआउट वैल्यू को सेकंड में अपडेट करें.

    उदाहरण के लिए, अगर आपको टाइम आउट को बदलकर 120 सेकंड करना है, तो 120 टाइप करें, जैसा कि यहां दिखाया गया है यहां दी गई इमेज में दिखाया गया है:

    120 का प्रॉक्सी रीड टाइम आउट मान

  6. बदलाव को सेव करें.

Edge API

Edge API का इस्तेमाल करके वर्चुअल होस्ट को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

  1. इसका उपयोग करके वर्तमान वर्चुअल होस्ट कॉन्फ़िगरेशन प्राप्त करें: नीचे दिखाए गए तरीके से वर्चुअल होस्ट एपीआई पाएं:

    सार्वजनिक क्लाउड उपयोगकर्ता

    curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                    

    निजी Cloud उपयोगकर्ता

    curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                    

    कहां:

    {organization-name}, संगठन का नाम है

    {environment-name} एनवायरमेंट का नाम है

    {virtualhost-name}, वर्चुअल होस्ट का नाम है

    वर्चुअलहोस्ट कॉन्फ़िगरेशन का सैंपल

        {
          "hostAliases": [
            "api.myCompany,com"
          ],
          "interfaces": [],
          "listenOptions": [],
          "name": "secure",
          "port": "443",
          "retryOptions": [],
          "sSLInfo": {
            "ciphers": [],
            "clientAuthEnabled": "false",
            "enabled": "true",
            "ignoreValidationErrors": false,
            "keyAlias": "myCompanyKeyAlias",
            "keyStore": "ref://myCompanyKeystoreref",
            "protocols": []
          },
          "useBuiltInFreeTrialCert": false
        }
    
  2. मौजूदा वर्चुअल होस्ट कॉन्फ़िगरेशन में proxy_read_timeout प्रॉपर्टी जोड़ें JSON पेलोड, जो properties से कम में है. इसकी वैल्यू कुछ सेकंड में ही होनी चाहिए.

    उदाहरण के लिए, I/O टाइम आउट को 120 सेकंड में बदलने के लिए, properties जोड़ें कोड ब्लॉक, जैसा कि नीचे दिखाया गया है:

    अपडेट किए गए वर्चुअल होस्ट कॉन्फ़िगरेशन का सैंपल

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "proxy_read_timeout",
            "value": "120"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  3. अपडेट किए गए वर्चुअल होस्ट कॉन्फ़िगरेशन को किसी फ़ाइल में सेव करें. उदाहरण के लिए, virtualhost-payload.json.
  4. इसका इस्तेमाल करके virtualhost कॉन्फ़िगरेशन को बदलाव के साथ अपडेट करें किसी वर्चुअल होस्ट एपीआई को इस तरह से अपडेट करें:

    सार्वजनिक क्लाउड उपयोगकर्ता

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
                

    निजी Cloud उपयोगकर्ता

    curl -v -X POST Content-Type: application/json
    http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
                

    कहां:

    {organization-name}, संगठन का नाम है

    {environment-name} एनवायरमेंट का नाम है

    {virtualhost-name}, वर्चुअल होस्ट का नाम है

वर्चुअल होस्ट पर I/O टाइम आउट की पुष्टि करना

इस सेक्शन में बताया गया है कि Edge API का इस्तेमाल करके वर्चुअल होस्ट.

  1. लागू करें नीचे दिखाए गए तरीके से virtualhost कॉन्फ़िगरेशन पाने के लिए, वर्चुअल होस्ट एपीआई पाएं:

    सार्वजनिक क्लाउड उपयोगकर्ता

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                  

    निजी Cloud उपयोगकर्ता

    curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                  

    कहां:

    {organization-name}, संगठन का नाम है

    {environment-name} एनवायरमेंट का नाम है

    {virtualhost-name}, वर्चुअल होस्ट का नाम है

  2. पुष्टि करें कि प्रॉपर्टी proxy_read_timeout को नई वैल्यू पर सेट किया गया है.

    अपडेट किए गए वर्चुअल होस्ट कॉन्फ़िगरेशन का सैंपल

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "proxy_read_timeout",
            "value": "120"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    

    ऊपर दिए गए उदाहरण में, ध्यान दें कि proxy_read_timeout को 120 सेकंड की नई वैल्यू.

  3. अगर आपको अब भी proxy_read_timeout,की पुरानी वैल्यू दिखती है, तो पुष्टि करें कि ने वर्चुअल होस्ट में I/O टाइम आउट कॉन्फ़िगर करना में बताए गए सभी चरणों का सही तरीके से पालन किया है. अगर आपसे कोई चरण छूट गया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं.
  4. अगर अब भी I/O टाइम आउट में बदलाव नहीं हो पा रहा है, तो Apigee Edge की सहायता टीम से संपर्क करें.

राऊटर पर I/O टाइम आउट कॉन्फ़िगर करना

इस सेक्शन में, राऊटर पर I/O टाइम आउट को कॉन्फ़िगर करने का तरीका बताया गया है. I/O टाइम आउट हो सकता है राऊटर प्रॉपर्टी के ज़रिए कॉन्फ़िगर किया गया है conf_load_balancing_load.balancing.driver.proxy.read.timeout, जिससे पता चलता है कि I/O टाइम आउट वैल्यू को सेकंड में दिखाता है.

राऊटर पर I/O टाइम आउट कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

  1. राऊटर मशीन पर, यहां दी गई फ़ाइल को एडिटर में खोलें. अगर यह पहले से मौजूद नहीं है, तो इसे बनाएं.
    /opt/apigee/customer/application/router.properties
    

    उदाहरण के लिए, vi, यह निर्देश डालें:

    vi /opt/apigee/customer/application/router.properties
    
  2. properties फ़ाइल में, इस फ़ॉर्मैट में एक लाइन जोड़ें. time_in_seconds के लिए मान:
  3. conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
    

    उदाहरण के लिए, राऊटर पर I/O टाइम आउट को 120 सेकंड में बदलने के लिए, यह लाइन जोड़ें:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    

    I/O टाइम आउट में भी मिनट में बदलाव किया जा सकता है. उदाहरण के लिए, टाइम आउट को दो मिनट में, ये लाइन जोड़ें:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
    
  4. बदलावों को सेव करें.
  5. पक्का करें कि इस प्रॉपर्टी फ़ाइल का मालिकाना हक, apigee उपयोगकर्ता के पास है, जैसा कि यहां दिखाया गया है:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  6. नीचे बताए गए तरीके से राऊटर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  7. अगर आपके पास एक से ज़्यादा राऊटर हैं, तो ऊपर बताया गया तरीका सभी राऊटर के लिए दोहराएं.

राऊटर पर I/O टाइम आउट की पुष्टि करना

इस सेक्शन में बताया गया है कि राऊटर.

भले ही, आप टोकन का इस्तेमाल करें I/O टाइम आउट सेट करने के लिए conf_load_balancing_load.balancing.driver.proxy.read.timeout आपको यह पुष्टि करनी होगी कि proxy_read_timeout की असल प्रॉपर्टी नई वैल्यू के साथ सेट किया गया.

  1. इसमें proxy_read_timeout प्रॉपर्टी खोजें /opt/nginx/conf.d डायरेक्ट्री पर जाकर देखें कि क्या यह नए मान को इस प्रकार डालें:
    grep -ri "proxy_read_timeout" /opt/nginx/conf.d
    
  2. अगर राऊटर पर नई I/O टाइम आउट वैल्यू सेट हो जाती है, तो ऊपर दिया गया निर्देश सभी वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइलों में नई वैल्यू दिखाता है.

    ऊपर दिए गए grep कमांड से मिलने वाला सैंपल नतीजा नीचे दिया गया है. ऐसा तब होता है, जब I/O टाइम आउट 120 सेकंड है:

    /opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120;
    /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
    

    ऊपर दिए गए उदाहरण के आउटपुट में, ध्यान दें कि प्रॉपर्टी proxy_read_timeout को 0-default.conf में नई वैल्यू 120 के साथ सेट किया गया है जो डिफ़ॉल्ट वर्चुअल होस्ट के लिए कॉन्फ़िगरेशन फ़ाइल. इससे पता चलता है कि I/O टाइम आउट को राऊटर पर 120 सेकंड के लिए कॉन्फ़िगर कर दिया गया है.

  3. अगर आपको अब भी प्रॉपर्टी proxy_read_timeout की पुरानी वैल्यू दिखती है, तो इस बात की पुष्टि करें कि आपने इसमें बताए गए सभी चरणों का पालन किया है रूटर पर I/O टाइम आउट को सही तरीके से कॉन्फ़िगर करना. अगर आपके पास कोई भी चरण छूट गया हो, तो सभी चरणों को फिर से सही तरीके से दोहराएं.
  4. अगर अब भी I/O टाइम आउट में बदलाव नहीं हो पा रहा है, तो Apigee Edge की सहायता टीम से संपर्क करें.

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

मैसेज प्रोसेसर में I/O टाइम आउट कॉन्फ़िगर करने के बारे में जानें