यहां Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
पर जाएं
Apigee X दस्तावेज़. info
इस दस्तावेज़ में, 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 का इस्तेमाल करके, वर्चुअल होस्ट को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:
- वर्चुअल होस्ट का मौजूदा कॉन्फ़िगरेशन पाने के लिए,
वर्चुअल होस्ट पाने का एपीआई का इस्तेमाल करें. यह तरीका यहां दिखाया गया है:
Public Cloud का उपयोगकर्ता
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Private 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 } - मौजूदा वर्चुअल होस्ट के कॉन्फ़िगरेशन के JSON पेलोड में,
propertiesके तहतproxy_read_timeoutप्रॉपर्टी जोड़ें. इसकी वैल्यू सेकंड में होनी चाहिए.उदाहरण के लिए, 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के कॉन्फ़िगरेशन को बदलाव के साथ अपडेट करने के लिए, वर्चुअल होस्ट को अपडेट करने का एपीआई का इस्तेमाल करें. इसके लिए, यह तरीका अपनाएं:Public Cloud का उपयोगकर्ता
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>
Private 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 का इस्तेमाल करके, वर्चुअल होस्ट पर I/O टाइमआउट में बदलाव किया गया है या नहीं.
- `virtualhost` का
virtualhostकॉन्फ़िगरेशन पाने के लिए, वर्चुअल होस्ट पाने का एपीआई को एक्ज़ीक्यूट करें. यह तरीका यहां दिखाया गया है:Public Cloud का उपयोगकर्ता
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Private 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 टाइमआउट को कॉन्फ़िगर करने का तरीका बताया गया है. राऊटर की conf_load_balancing_load.balancing.driver.proxy.read.timeout प्रॉपर्टी की मदद से, I/O टाइमआउट को कॉन्फ़िगर किया जा सकता है. यह प्रॉपर्टी, 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 टाइमआउट कॉन्फ़िगर करने के बारे में जानें