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 इंस्टॉलेशन में एक से ज़्यादा मैसेज प्रोसेसर हों और गड़बड़ियां मिलने पर 'फिर से कोशिश करें' चालू हो. इसकी वैल्यू इनमें से किसी एक होगी:
|
शुरू करने से पहले
इस दस्तावेज़ में दिए गए चरणों का इस्तेमाल करने से पहले, पक्का करें कि आप इन विषयों को समझ गए हों:
- अगर आपको वर्चुअल होस्ट प्रॉपर्टी के बारे में नहीं पता है, तो वर्चुअल होस्ट प्रॉपर्टी का रेफ़रंस लेख पढ़ें.
- अगर आपको Private Cloud पर Edge के लिए प्रॉपर्टी कॉन्फ़िगर करने के बारे में नहीं पता है, तो Edge को कॉन्फ़िगर करने का तरीका लेख पढ़ें.
- पक्का करें कि आपने I/O टाइम आउट को कॉन्फ़िगर करने के सबसे सही तरीकों का पालन किया है.
वर्चुअल होस्ट में I/O टाइम आउट कॉन्फ़िगर करना
इस सेक्शन में, किसी संगठन और एनवायरमेंट से जुड़े वर्चुअल होस्ट में, I/O टाइम आउट को कॉन्फ़िगर करने का तरीका
बताया गया है. I/O टाइम आउट को वर्चुअल होस्ट में proxy_read_timeout
प्रॉपर्टी के ज़रिए कॉन्फ़िगर किया जा सकता है.
इससे यह पता चलता है कि I/O टाइम आउट सेकंड में कितनी देर तक दिखेगा.
वर्चुअल होस्ट को कॉन्फ़िगर करने के लिए, इनमें से किसी एक तरीके का इस्तेमाल किया जा सकता है:
- Edge यूज़र इंटरफ़ेस (यूआई)
- Edge API
Edge यूज़र इंटरफ़ेस (यूआई)
Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके वर्चुअल होस्ट को कॉन्फ़िगर करने के लिए, ये काम करें:
- Edge यूज़र इंटरफ़ेस (यूआई) में लॉगिन करें.
- एडमिन > वर्चुअल होस्ट पर जाएं.
- वह एनवायरमेंट चुनें जहां आपको यह बदलाव करना है.
- वह वर्चुअल होस्ट चुनें जिसके लिए आपको 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>
प्राइवेट क्लाउड उपयोगकर्ता
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
प्रॉपर्टी जोड़ेंproperties
के तहत JSON पेलोड, जिसमें वैल्यू सेकंड में दी गई हो.उदाहरण के लिए, 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>
प्राइवेट क्लाउड उपयोगकर्ता
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 का इस्तेमाल करके वर्चुअल होस्ट पर I/O टाइम आउट में बदलाव हो गया है या नहीं.
- यहां दिखाए गए तरीके से
virtualhost
कॉन्फ़िगरेशन पाने के लिए, वर्चुअल होस्ट पाएं एपीआई लागू करें:सार्वजनिक क्लाउड उपयोगकर्ता
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
प्राइवेट क्लाउड उपयोगकर्ता
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 टाइम आउट में बदलाव होने की पुष्टि करने का तरीका बताया गया है.
भले ही, राऊटर पर I/O टाइम आउट सेट करने के लिए आपने conf_load_balancing_load.balancing.driver.proxy.read.timeout
टोकन का इस्तेमाल किया हो, लेकिन आपको पुष्टि करनी होगी कि असल प्रॉपर्टी proxy_read_timeout
को नई वैल्यू के साथ सेट किया गया है या नहीं.
/opt/nginx/conf.d
डायरेक्ट्री मेंproxy_read_timeout
प्रॉपर्टी खोजें और देखें कि कहीं उसे नई वैल्यू के साथ, इस तरह सेट तो नहीं किया गया है:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- अगर राऊटर पर I/O टाइम आउट की नई वैल्यू सेट हो जाती है, तो ऊपर दिया गया निर्देश
सभी वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइलों में नई वैल्यू दिखाता है.
I/O टाइम आउट 120 सेकंड होने पर, ऊपर दिए गए
grep
कमांड से मिले नतीजे के उदाहरण यहां दिए गए हैं:/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 टाइम आउट कॉन्फ़िगर करने के बारे में जानें