आपको 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 सेकंड है. इस प्रॉपर्टी में बताए गए तरीके से बदलाव किया जा सकता है
नीचे रूटर पर I/O टाइम आउट कॉन्फ़िगर करना या आप ओवरराइट कर सकते हैं
वर्चुअल होस्ट लेवल पर आप इस प्रॉपर्टी के लिए समय अंतराल को सेकंड के अलावा किसी अन्य रूप में सेट कर सकते हैं. इसके लिए नोटेशन: 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 इंस्टॉलेशन में कई मैसेज प्रोसेसर और गड़बड़ियां होने पर, फिर से कोशिश करने की सुविधा चालू हो जाती है. इसकी वैल्यू, इनमें से किसी एक की वैल्यू होती है:
|
शुरू करने से पहले
इस दस्तावेज़ में दिया गया तरीका अपनाने से पहले, पक्का करें कि आपने इन विषयों को समझ लिया हो:
- अगर आपको वर्चुअल होस्ट प्रॉपर्टी के बारे में नहीं पता है, तो वर्चुअल होस्ट प्रॉपर्टी का रेफ़रंस.
- अगर आपको प्राइवेट क्लाउड पर Edge के लिए प्रॉपर्टी कॉन्फ़िगर करने के बारे में नहीं पता है, तो पढ़ें कॉन्फ़िगर करने का तरीका Edge.
- पक्का करें कि आपने I/O टाइम आउट के सुझावों को कॉन्फ़िगर करने के सबसे सही तरीके.
वर्चुअल होस्ट में I/O टाइम आउट कॉन्फ़िगर करना
यह सेक्शन बताता है कि
संगठन और माहौल के बारे में बात करते हैं. I/O टाइम आउट को वर्चुअल होस्ट में
प्रॉपर्टी proxy_read_timeout
, जो I/O टाइम आउट की वैल्यू को सेकंड में दिखाती है.
इनमें से किसी एक तरीके का इस्तेमाल करके, वर्चुअल होस्ट को कॉन्फ़िगर किया जा सकता है:
- Edge यूज़र इंटरफ़ेस (यूआई)
- Edge API
Edge यूज़र इंटरफ़ेस (यूआई)
Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके वर्चुअल होस्ट को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
- Edge UI में लॉगिन करें.
- एडमिन > वर्चुअल होस्ट.
- वह एनवायरमेंट चुनें जिसमें आपको यह बदलाव करना है.
- वह खास वर्चुअल होस्ट चुनें जिसके लिए आपको नया होस्ट कॉन्फ़िगर करना है I/O टाइम आउट मान.
- प्रॉपर्टी में जाकर, प्रॉक्सी रीड टाइमआउट वैल्यू को सेकंड में अपडेट करें.
उदाहरण के लिए, अगर आपको टाइम आउट को बदलकर 120 सेकंड करना है, तो 120 टाइप करें, जैसा कि यहां दिखाया गया है यहां दी गई इमेज में दिखाया गया है:
- बदलाव को सेव करें.
Edge API
Edge API का इस्तेमाल करके वर्चुअल होस्ट को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
- इसका उपयोग करके वर्तमान वर्चुअल होस्ट कॉन्फ़िगरेशन प्राप्त करें:
नीचे दिखाए गए तरीके से वर्चुअल होस्ट एपीआई पाएं:
सार्वजनिक क्लाउड उपयोगकर्ता
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 }
- मौजूदा वर्चुअल होस्ट कॉन्फ़िगरेशन में
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 }
- अपडेट किए गए वर्चुअल होस्ट कॉन्फ़िगरेशन को किसी फ़ाइल में सेव करें. उदाहरण के लिए,
virtualhost-payload.json
. - इसका इस्तेमाल करके
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 का इस्तेमाल करके वर्चुअल होस्ट.
- लागू करें
नीचे दिखाए गए तरीके से
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}, वर्चुअल होस्ट का नाम है
- पुष्टि करें कि प्रॉपर्टी
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 सेकंड की नई वैल्यू. - अगर आपको अब भी
proxy_read_timeout,
की पुरानी वैल्यू दिखती है, तो पुष्टि करें कि ने वर्चुअल होस्ट में I/O टाइम आउट कॉन्फ़िगर करना में बताए गए सभी चरणों का सही तरीके से पालन किया है. अगर आपसे कोई चरण छूट गया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं. - अगर अब भी I/O टाइम आउट में बदलाव नहीं हो पा रहा है, तो Apigee Edge की सहायता टीम से संपर्क करें.
राऊटर पर I/O टाइम आउट कॉन्फ़िगर करना
इस सेक्शन में, राऊटर पर I/O टाइम आउट को कॉन्फ़िगर करने का तरीका बताया गया है. I/O टाइम आउट हो सकता है
राऊटर प्रॉपर्टी के ज़रिए कॉन्फ़िगर किया गया है
conf_load_balancing_load.balancing.driver.proxy.read.timeout
, जिससे पता चलता है कि
I/O टाइम आउट वैल्यू को सेकंड में दिखाता है.
राऊटर पर I/O टाइम आउट कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
- राऊटर मशीन पर, यहां दी गई फ़ाइल को एडिटर में खोलें. अगर यह पहले से मौजूद नहीं है, तो इसे बनाएं.
/opt/apigee/customer/application/router.properties
उदाहरण के लिए,
vi
, यह निर्देश डालें:vi /opt/apigee/customer/application/router.properties
properties
फ़ाइल में, इस फ़ॉर्मैट में एक लाइन जोड़ें.time_in_seconds
के लिए मान:- बदलावों को सेव करें.
- पक्का करें कि इस प्रॉपर्टी फ़ाइल का मालिकाना हक,
apigee
उपयोगकर्ता के पास है, जैसा कि यहां दिखाया गया है:chown apigee:apigee /opt/apigee/customer/application/router.properties
- नीचे बताए गए तरीके से राऊटर को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- अगर आपके पास एक से ज़्यादा राऊटर हैं, तो ऊपर बताया गया तरीका सभी राऊटर के लिए दोहराएं.
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
राऊटर पर I/O टाइम आउट की पुष्टि करना
इस सेक्शन में बताया गया है कि राऊटर.
भले ही, आप टोकन का इस्तेमाल करें
I/O टाइम आउट सेट करने के लिए conf_load_balancing_load.balancing.driver.proxy.read.timeout
आपको यह पुष्टि करनी होगी कि proxy_read_timeout
की असल प्रॉपर्टी
नई वैल्यू के साथ सेट किया गया.
- इसमें
proxy_read_timeout
प्रॉपर्टी खोजें/opt/nginx/conf.d
डायरेक्ट्री पर जाकर देखें कि क्या यह नए मान को इस प्रकार डालें:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- अगर राऊटर पर नई 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 सेकंड के लिए कॉन्फ़िगर कर दिया गया है. - अगर आपको अब भी प्रॉपर्टी
proxy_read_timeout
की पुरानी वैल्यू दिखती है, तो इस बात की पुष्टि करें कि आपने इसमें बताए गए सभी चरणों का पालन किया है रूटर पर I/O टाइम आउट को सही तरीके से कॉन्फ़िगर करना. अगर आपके पास कोई भी चरण छूट गया हो, तो सभी चरणों को फिर से सही तरीके से दोहराएं. - अगर अब भी I/O टाइम आउट में बदलाव नहीं हो पा रहा है, तो Apigee Edge की सहायता टीम से संपर्क करें.
आगे क्या होगा?
मैसेज प्रोसेसर में I/O टाइम आउट कॉन्फ़िगर करने के बारे में जानें