Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Bu belgede, Apigee Edge'in yönlendiricilerinde G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır.
Yönlendiricideki G/Ç zaman aşımı, bağlantı kurulduktan ve Mesaj İşleyici'ye istek gönderildikten sonra yönlendiricinin Mesaj İşleyici'den yanıt almayı beklediği süreyi ifade eder. Yönlendiricideki G/Ç zaman aşımının varsayılan değeri 57 saniyedir.
Yönlendiriciler için G/Ç zaman aşımı, ihtiyaçlarınıza bağlı olarak varsayılan 57 saniyelik değerden artırılabilir veya azaltılabilir. Aşağıdaki şekillerde yapılandırılabilir:
- Sanal ana makinede
- Yönlendiricide
Aşağıdaki özellikler, yönlendiricilerdeki G/Ç zaman aşımını kontrol eder:
| Mülk Adı | Konum | Açıklama |
|---|---|---|
proxy_read_timeout
|
Sanal ana makine |
Bağlantı kurulduktan ve istek Mesaj İşleyici'ye gönderildikten sonra Yönlendirici'nin Mesaj İşleyici'den yanıt almak için bekleyeceği maksimum süreyi belirtir. Bu zaman aşımı süresi içinde Mesaj İşleyici'den yanıt gelmezse yönlendiricinin zaman aşımı süresi dolar. Varsayılan olarak bu özellik, yönlendiricideki Bu özellik belirli bir sanal ana makine için yeni bir zaman aşımı değeriyle değiştirilirse yalnızca söz konusu sanal ana makineyi kullanan API proxy'leri etkilenir. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
Yönlendirici |
Bağlantı kurulduktan ve istek Mesaj İşleyici'ye gönderildikten sonra Yönlendirici'nin Mesaj İşleyici'den yanıt almak için bekleyeceği maksimum süreyi belirtir. Bu zaman aşımı süresi içinde Mesaj İşleyici'den yanıt gelmezse yönlendiricinin zaman aşımı süresi dolar. Bu özellik, bu yönlendiricideki tüm sanal ana makineler için kullanılır. Bu özelliğin varsayılan değeri 57 saniyedir. Bu özelliği aşağıdaki Yönlendiricilerde G/Ç zaman aşımını yapılandırma bölümünde açıklandığı şekilde değiştirebilir veya Aşağıdaki gösterimi kullanarak bu özelliğin zaman aralığını saniye dışında bir değer olarak ayarlayabilirsiniz: 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
|
Yönlendirici |
Bağlantı kurulduktan ve her Mesaj İşleyiciye istek gönderildikten sonra Yönlendiricinin tüm Mesaj İşleyicilerden yanıt almak için beklediği toplam süreyi belirtir. Bu, Edge yüklemenizde birden fazla mesaj işlemcisi olduğunda ve hatalar oluştuğunda yeniden deneme etkinleştirildiğinde geçerlidir. Aşağıdaki değerlerden birine sahiptir:
|
Başlamadan önce
Bu belgedeki adımları kullanmadan önce aşağıdaki konuları anladığınızdan emin olun:
- Sanal ana makine özellikleri hakkında bilginiz yoksa Sanal ana makine özelliği referansı başlıklı makaleyi inceleyin.
- Özel bulutta Edge için özellikleri yapılandırma konusunda bilginiz yoksa Edge'i yapılandırma başlıklı makaleyi okuyun.
- G/Ç zaman aşımını yapılandırmayla ilgili en iyi uygulamalar önerilerini uyguladığınızdan emin olun.
Sanal ana makinede G/Ç zaman aşımını yapılandırma
Bu bölümde, bir kuruluş ve ortamla ilişkili sanal ana makinede G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. G/Ç zaman aşımı, saniye cinsinden G/Ç zaman aşımı değerini temsil eden proxy_read_timeout özelliği aracılığıyla sanal ana makinede yapılandırılabilir.
Sanal ana makineyi aşağıdaki yöntemlerden birini kullanarak yapılandırabilirsiniz:
- Edge kullanıcı arayüzü
- Edge API
Edge kullanıcı arayüzü
Sanal ana makineyi Edge kullanıcı arayüzünü kullanarak yapılandırmak için aşağıdakileri yapın:
- Edge kullanıcı arayüzüne giriş yapın.
- Yönetici > Sanal Ana Makineler'e gidin.
- Bu değişikliği yapmak istediğiniz belirli bir Ortam'ı seçin.
- Yeni G/Ç zaman aşımı değerini yapılandırmak istediğiniz belirli sanal ana makineyi seçin.
- Özellikler bölümünde Proxy Okuma Zaman Aşımı değerini saniye cinsinden güncelleyin.
Örneğin, zaman aşımını 120 saniye olarak değiştirmek istiyorsanız aşağıdaki şekilde gösterildiği gibi 120 yazın:
- Değişikliği kaydedin.
Edge API
Edge API'yi kullanarak sanal ana makineyi yapılandırmak için aşağıdakileri yapın:
- Aşağıda gösterildiği gibi
Get virtual host API'yi kullanarak mevcut sanal ana makine yapılandırmasını alın:
Public Cloud kullanıcısı
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Private Cloud kullanıcısı
curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Burada:
{organization-name}, kuruluşun adıdır.
{environment-name}, ortamın adıdır.
{virtualhost-name}, sanal ana makinenin adıdır.
Örnek sanal ana makine yapılandırması
{ "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özelliğini, mevcut sanal ana makine yapılandırması JSON yükünepropertiesaltında saniye cinsinden değerle ekleyin.Örneğin, G/Ç zaman aşımını 120 saniyeye değiştirmek için aşağıdaki gibi
propertieskod bloğunu ekleyin:Güncellenen sanal ana makine yapılandırması örneği
{ "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 }- Güncellenen sanal ana makine yapılandırmasını bir dosyaya kaydedin. Örneğin,
virtualhost-payload.json. virtualhostyapılandırmasını, Sanal ana makineyi güncelleme API'sini kullanarak aşağıdaki şekilde güncelleyin:Public Cloud kullanıcısı
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 kullanıcısı
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>
Burada:
{organization-name}, kuruluşun adıdır.
{environment-name}, ortamın adıdır.
{virtualhost-name}, sanal ana makinenin adıdır.
Sanal ana makinelerde G/Ç zaman aşımını doğrulama
Bu bölümde, Edge API kullanılarak sanal ana makinede G/Ç zaman aşımının başarıyla değiştirilip değiştirilmediğinin nasıl doğrulanacağı açıklanmaktadır.
- Aşağıda gösterildiği gibi
virtualhostyapılandırmasını almak için Get virtual host API'sini yürütün:Public Cloud kullanıcısı
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Private Cloud kullanıcısı
curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Burada:
{organization-name}, kuruluşun adıdır.
{environment-name}, ortamın adıdır.
{virtualhost-name}, sanal ana makinenin adıdır.
proxy_read_timeoutözelliğinin yeni değere ayarlandığını doğrulayın.Güncellenen sanal ana makine yapılandırması örneği
{ "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 }Yukarıdaki örnekte,
proxy_read_timeoutdeğerinin 120 saniye olarak ayarlandığını unutmayın.proxy_read_timeout,için eski değeri görmeye devam ediyorsanız Sanal ana makinede G/Ç zaman aşımını yapılandırma başlıklı makalede belirtilen tüm adımları doğru şekilde uyguladığınızı doğrulayın. Herhangi bir adımı atladıysanız tüm adımları tekrar doğru şekilde uygulayın.- G/Ç zaman aşımını hâlâ değiştiremiyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.
Yönlendiricilerde G/Ç zaman aşımını yapılandırma
Bu bölümde, yönlendiricilerde G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. G/Ç zaman aşımı, saniye cinsinden G/Ç zaman aşımı değerini temsil eden conf_load_balancing_load.balancing.driver.proxy.read.timeout Router özelliği aracılığıyla yapılandırılabilir.
Yönlendiricilerde G/Ç zaman aşımını yapılandırmak için aşağıdakileri yapın:
- Yönlendirici makinesinde aşağıdaki dosyayı bir düzenleyicide açın. Henüz yoksa oluşturun.
/opt/apigee/customer/application/router.properties
Örneğin, dosyayı
viile açmak için aşağıdaki komutu girin:vi /opt/apigee/customer/application/router.properties
propertiesdosyasına aşağıdaki biçimde bir satır ekleyin vetime_in_secondsyerine bir değer girin:- Değişikliklerinizi kaydedin.
- Bu özellikler dosyasının, aşağıda gösterildiği gibi
apigeekullanıcısına ait olduğundan emin olun:chown apigee:apigee /opt/apigee/customer/application/router.properties
- Yönlendiriciyi aşağıda gösterildiği gibi yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Birden fazla yönlendiriciniz varsa yukarıdaki adımları tüm yönlendiricilerde tekrarlayın.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
Örneğin, yönlendiricideki G/Ç zaman aşımını 120 saniyeye değiştirmek için aşağıdaki satırı ekleyin:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
G/Ç zaman aşımını dakika cinsinden de değiştirebilirsiniz. Örneğin, zaman aşımını iki dakikaya değiştirmek için aşağıdaki satırı ekleyin:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
Yönlendiricilerde G/Ç zaman aşımını doğrulama
Bu bölümde, yönlendiricilerde G/Ç zaman aşımının başarıyla değiştirildiğini nasıl doğrulayacağınız açıklanmaktadır.
Yönlendiricide G/Ç zaman aşımını ayarlamak için jetonu conf_load_balancing_load.balancing.driver.proxy.read.timeout kullansanız da gerçek özelliğin proxy_read_timeout yeni değerle ayarlanıp ayarlanmadığını doğrulamanız gerekir.
proxy_read_timeoutdizininde mülkü arayın/opt/nginx/conf.dve yeni değerin aşağıdaki gibi ayarlanıp ayarlanmadığını kontrol edin:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Yeni G/Ç zaman aşımı değeri yönlendiricide başarıyla ayarlanırsa yukarıdaki komut, tüm sanal ana makine yapılandırma dosyalarında yeni değeri gösterir.
Aşağıda, G/Ç zaman aşımı 120 saniye olduğunda yukarıdaki
grepkomutunun örnek sonucu verilmiştir:/opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120; /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
Yukarıdaki örnek çıktıda,
proxy_read_timeoutözelliğinin0-default.confiçinde yeni değer olan 120 ile ayarlandığını unutmayın. varsayılan sanal ana makine için yapılandırma dosyasıdır. Bu, G/Ç zaman aşımının yönlendiricide 120 saniye olarak başarıyla yapılandırıldığını gösterir. - Mülk için hâlâ eski değeri
proxy_read_timeoutgörüyorsanız Yönlendiricilerde G/Ç zaman aşımını yapılandırma başlıklı makalede belirtilen tüm adımları doğru şekilde uyguladığınızı doğrulayın. Herhangi bir adımı atladıysanız tüm adımları doğru şekilde tekrar edin. - G/Ç zaman aşımını hâlâ değiştiremiyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.
Sırada ne var?
Mesaj İşleyici'de G/Ç Zaman Aşımını Yapılandırma hakkında bilgi edinin.