Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację
Apigee X. info
Z tego dokumentu dowiesz się, jak skonfigurować limit czasu wejścia-wyjścia na routerach Apigee Edge.
Limit czasu wejścia-wyjścia na routerze to czas, przez który router czeka na otrzymanie odpowiedzi z procesora komunikatów po nawiązaniu połączenia i wysłaniu żądania do procesora komunikatów. Domyślna wartość limitu czasu wejścia-wyjścia na routerze to 57 sekund.
Limit czasu wejścia-wyjścia na routerach można zwiększyć lub zmniejszyć w zależności od potrzeb w stosunku do wartości domyślnej wynoszącej 57 sekund. Można go skonfigurować na te sposoby:
- W hoście wirtualnym
- Na routerze
Te właściwości kontrolują limit czasu wejścia-wyjścia na routerach:
| Nazwa właściwości | Lokalizacja | Opis |
|---|---|---|
proxy_read_timeout
|
Host wirtualny |
Określa maksymalny czas, przez który router czeka na odpowiedź z procesora komunikatów po nawiązaniu połączenia i wysłaniu do niego żądania. Jeśli w tym czasie nie nadejdzie odpowiedź z procesora komunikatów, to router przekroczy limit czasu. Domyślnie ta właściwość przyjmuje wartość ustawioną dla właściwości
Jeśli ta właściwość zostanie zmodyfikowana i otrzyma nową wartość limitu czasu dla konkretnego hosta wirtualnego, wpłynie to tylko na te serwery proxy interfejsu API, które korzystają z tego hosta wirtualnego. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
Router |
Określa maksymalny czas, przez który router czeka na odpowiedź z procesora komunikatów po nawiązaniu połączenia i wysłaniu do niego żądania. Jeśli w tym czasie nie nadejdzie odpowiedź z procesora komunikatów, to router przekroczy limit czasu. Ta właściwość jest używana w przypadku wszystkich hostów wirtualnych na tym routerze. Domyślna wartość tej właściwości to 57 sekund. Możesz zmodyfikować tę właściwość w sposób opisany w
Konfigurowanie limitu czasu wejścia-wyjścia na routerach poniżej lub zastąpić
tę wartość, ustawiając właściwość Możesz ustawić interwał czasu dla tej właściwości w inny sposób niż w sekundach, używając tej notacji: 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
|
Router |
Określa łączny czas, przez który router czeka na odpowiedź ze wszystkich procesorów wiadomości po nawiązaniu połączenia i wysłaniu żądania do każdego z nich. Ma to zastosowanie, gdy instalacja Edge ma wiele procesorów wiadomości, a w przypadku wystąpienia błędów włączone są ponowne próby. Może mieć jedną z tych wartości:
Podobnie jak w przypadku właściwości |
Zanim zaczniesz
Zanim wykonasz czynności opisane w tym dokumencie, zapoznaj się z tymi tematami:
- Jeśli nie znasz właściwości hosta wirtualnego, przeczytaj artykuł Właściwości hosta wirtualnego.
- Jeśli nie wiesz, jak skonfigurować właściwości Edge w Private Cloud, przeczytaj artykuł Jak skonfigurować Edge.
- Postępuj zgodnie ze sprawdzonymi metodami dotyczącymi konfigurowania limitu czasu wejścia-wyjścia.
Konfigurowanie limitu czasu wejścia-wyjścia w hoście wirtualnym
W tej sekcji dowiesz się, jak skonfigurować limit czasu wejścia-wyjścia w hoście wirtualnym powiązanym z
organizacją i środowiskiem. Limit czasu wejścia-wyjścia można skonfigurować w hoście wirtualnym za pomocą
właściwości proxy_read_timeout, która reprezentuje wartość limitu czasu wejścia-wyjścia w sekundach.
Host wirtualny możesz skonfigurować na jeden z tych sposobów:
- Interfejs Edge
- Interfejs Edge API
Interfejs Edge
Aby skonfigurować hosta wirtualnego za pomocą interfejsu Edge:
- Zaloguj się w interfejsie Edge.
- Kliknij Administracja > Hosty wirtualne.
- Wybierz konkretne środowisko , w którym chcesz wprowadzić tę zmianę.
- Wybierz konkretnego hosta wirtualnego, dla którego chcesz skonfigurować nową wartość limitu czasu wejścia-wyjścia.
- W sekcji Właściwości zaktualizuj wartość Limit czasu odczytu serwera proxy w sekundach.
Jeśli na przykład chcesz zmienić limit czasu na 120 sekund, wpisz 120, jak pokazano na ilustracji poniżej:
- Zapisz zmianę.
Interfejs Edge API
Aby skonfigurować hosta wirtualnego za pomocą interfejsu Edge API:
- Pobierz bieżącą konfigurację hosta wirtualnego za pomocą
interfejsu Get virtual host API, jak pokazano poniżej:
Użytkownik Public Cloud
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Użytkownik Private Cloud
curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Gdzie:
{organization-name} to nazwa organizacji.
{environment-name} to nazwa środowiska.
{virtualhost-name} to nazwa hosta wirtualnego.
Przykładowa konfiguracja hosta wirtualnego
{ "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 } - Dodaj właściwość
proxy_read_timeoutdo istniejącego ładunku JSON konfiguracji hosta wirtualnego w sekcjipropertiesz wartością w sekundach.Aby na przykład zmienić limit czasu wejścia-wyjścia na 120 sekund, dodaj blok kodu
propertiesjak poniżej:Przykładowa zaktualizowana konfiguracja hosta wirtualnego
{ "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 } - Zapisz zaktualizowaną konfigurację hosta wirtualnego w pliku. Na przykład,
virtualhost-payload.json. - Zaktualizuj konfigurację
virtualhostza pomocą interfejsu Update a virtual host API w ten sposób:Użytkownik 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>
Użytkownik 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>
Gdzie:
{organization-name} to nazwa organizacji.
{environment-name} to nazwa środowiska.
{virtualhost-name} to nazwa hosta wirtualnego.
Sprawdzanie limitu czasu wejścia-wyjścia w hostach wirtualnych
W tej sekcji dowiesz się, jak sprawdzić, czy limit czasu wejścia-wyjścia został prawidłowo zmodyfikowany w hoście wirtualnym za pomocą interfejsu Edge API.
- Uruchom interfejs
Get virtual host API, aby pobrać konfigurację
virtualhost, jak pokazano poniżej:Użytkownik Public Cloud
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Użytkownik Private Cloud
curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Gdzie:
{organization-name} to nazwa organizacji.
{environment-name} to nazwa środowiska.
{virtualhost-name} to nazwa hosta wirtualnego.
- Sprawdź, czy właściwość
proxy_read_timeoutzostała ustawiona na nową wartość.Przykładowa zaktualizowana konfiguracja hosta wirtualnego
{ "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 }W powyższym przykładzie zwróć uwagę, że właściwość
proxy_read_timeoutzostała ustawiona na nową wartość 120 sekund. - Jeśli nadal widzisz starą wartość
proxy_read_timeout,sprawdź, czy prawidłowo wykonano wszystkie czynności opisane w sekcji Konfigurowanie limitu czasu wejścia-wyjścia w hoście wirtualnym. Jeśli pominiesz jakiś krok, powtórz wszystkie czynności. - Jeśli nadal nie możesz zmodyfikować limitu czasu wejścia-wyjścia, skontaktuj się z zespołem pomocy Apigee Edge.
Konfigurowanie limitu czasu wejścia-wyjścia na routerach
W tej sekcji dowiesz się, jak skonfigurować limit czasu wejścia-wyjścia na routerach. Limit czasu wejścia-wyjścia można skonfigurować za pomocą właściwości routera
conf_load_balancing_load.balancing.driver.proxy.read.timeout, która reprezentuje
wartość limitu czasu wejścia-wyjścia w sekundach.
Aby skonfigurować limit czasu wejścia-wyjścia na routerach:
- Na maszynie routera otwórz ten plik w edytorze. Jeśli plik nie istnieje, utwórz go.
/opt/apigee/customer/application/router.properties
Aby na przykład otworzyć plik za pomocą
vi, wpisz to polecenie:vi /opt/apigee/customer/application/router.properties
- Dodaj wiersz w tym formacie do pliku
properties, zastępując wartość dlatime_in_seconds: - Zapisz zmiany.
- Upewnij się, że właścicielem tego pliku właściwości jest użytkownik
apigee, jak pokazano poniżej:chown apigee:apigee /opt/apigee/customer/application/router.properties
- Uruchom ponownie router, jak pokazano poniżej:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Jeśli masz więcej niż 1 router, powtórz powyższe czynności na wszystkich routerach.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
Aby na przykład zmienić limit czasu wejścia-wyjścia na routerze na 120 sekund, dodaj ten wiersz:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
Możesz też zmodyfikować limit czasu wejścia-wyjścia w minutach. Aby na przykład zmienić limit czasu na 2 minuty, dodaj ten wiersz:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
Sprawdzanie limitu czasu wejścia-wyjścia na routerach
W tej sekcji dowiesz się, jak sprawdzić, czy limit czasu wejścia-wyjścia został prawidłowo zmodyfikowany na routerach.
Mimo że do ustawienia limitu czasu wejścia-wyjścia na routerze używasz tokena
conf_load_balancing_load.balancing.driver.proxy.read.timeout, musisz sprawdzić, czy rzeczywista właściwość proxy_read_timeout została
ustawiona na nową wartość.
- Wyszukaj właściwość
proxy_read_timeoutw katalogu/opt/nginx/conf.di sprawdź, czy została ustawiona na nową wartość:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Jeśli nowa wartość limitu czasu wejścia-wyjścia zostanie prawidłowo ustawiona na routerze, powyższe polecenie
wyświetli nową wartość we wszystkich plikach konfiguracji hosta wirtualnego.
Poniżej znajduje się przykładowy wynik polecenia
greppowyżej, gdy limit czasu wejścia-wyjścia wynosi 120 sekund:/opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120; /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
W powyższym przykładzie zwróć uwagę, że właściwość
proxy_read_timeoutzostała ustawiona na nową wartość 120 w pliku0-default.conf, który jest plikiem konfiguracji domyślnego hosta wirtualnego. Oznacza to, że limit czasu wejścia-wyjścia został prawidłowo skonfigurowany na routerze na 120 sekund. - Jeśli nadal widzisz starą wartość właściwości
proxy_read_timeout, to sprawdź, czy prawidłowo wykonano wszystkie czynności opisane w Konfigurowanie limitu czasu wejścia-wyjścia na routerach. Jeśli pominiesz jakiś krok, powtórz wszystkie czynności. - Jeśli nadal nie możesz zmodyfikować limitu czasu wejścia-wyjścia, skontaktuj się z zespołem pomocy Apigee Edge.
Co dalej?
Więcej informacji o konfigurowaniu limitu czasu wejścia-wyjścia w procesorze komunikatów