Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Ten dokument wyjaśnia, jak skonfigurować limit czasu wejścia/wyjścia w routerach Apigee Edge.
Limit czasu wejścia/wyjścia w routerze oznacza czas, przez jaki router oczekuje na odpowiedź od procesora wiadomości po nawiązaniu połączenia i wysłaniu żądania do tego procesora. Domyślna wartość limitu czasu wejścia/wyjścia w routerze to 57 sekund.
Limit czasu wejścia/wyjścia dla routerów możesz odpowiednio zwiększyć lub zmniejszyć z domyślnej wartości do 57 sekund. Możesz to zrobić na kilka sposobów:
- Na hoście wirtualnym
- Na routerze
Te właściwości kontrolują czas oczekiwania wejścia-wyjścia w routerach:
Nazwa właściwości | Lokalizacja | Opis |
---|---|---|
proxy_read_timeout
|
Host wirtualny |
Określa maksymalny czas, przez jaki router oczekuje na odpowiedź od procesora wiadomości po nawiązaniu połączenia i wysłaniu żądania do tego procesora. Jeśli w tym czasie nie ma odpowiedzi od procesora wiadomości, oznacza to, że router przekroczył limit czasu oczekiwania. Domyślnie ta właściwość pobiera wartość ustawioną dla właściwości Jeśli ta właściwość zostanie zmodyfikowana nową wartością limitu czasu dla określonego hosta wirtualnego, będzie to miało wpływ tylko na serwery proxy interfejsów API korzystające z tego hosta wirtualnego. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
Router |
Określa maksymalny czas, przez jaki router oczekuje na odpowiedź od procesora wiadomości po nawiązaniu połączenia i wysłaniu żądania do tego procesora. Jeśli w tym czasie nie ma odpowiedzi od procesora wiadomości, oznacza to, że router przekroczył limit czasu oczekiwania. Ta właściwość jest używana w przypadku wszystkich hostów wirtualnych w tym routerze. Domyślna wartość tej właściwości to 57 sekund. Możesz zmodyfikować tę właściwość zgodnie z opisem w sekcji Konfigurowanie limitu czasu wejścia/wyjścia w routerach poniżej lub zastąpić tę wartość, ustawiając właściwość Przedział czasu dla tej właściwości możesz ustawić jako inny niż sekundy, korzystając z tego zapisu: 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 oczekiwania routera na odpowiedź od wszystkich procesorów wiadomości po nawiązaniu połączenia i wysłaniu żądania do każdego procesora wiadomości. Ma to zastosowanie, gdy instalacja Edge ma wiele procesorów wiadomości i ponawianie próby jest włączone po wystąpieniu błędów. Jedna z tych wartości:
Tak jak we właściwości |
Zanim zaczniesz
Zanim wykonasz czynności opisane w tym dokumencie, upewnij się, że rozumiesz następujące zagadnienia:
- Jeśli nie znasz jeszcze właściwości hosta wirtualnego, przeczytaj informacje o właściwościach hosta wirtualnego.
- Jeśli nie wiesz, jak skonfigurować właściwości Edge w Private Cloud, przeczytaj artykuł o konfigurowaniu Edge.
- Postępuj zgodnie ze sprawdzonymi metodami konfigurowania limitu czasu wejścia-wyjścia zgodnie ze sprawdzonymi metodami.
Konfigurowanie limitu czasu operacji wejścia-wyjścia na hoście wirtualnym
Z tej sekcji dowiesz się, jak skonfigurować limit czasu wejścia/wyjścia na hoście wirtualnym powiązanym z organizacją i środowiskiem. Limit czasu wejścia/wyjścia można skonfigurować na 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ć, korzystając z jednej z tych metod:
- Interfejs Edge
- Interfejs API Edge
Interfejs Edge
Aby skonfigurować hosta wirtualnego za pomocą interfejsu użytkownika Edge, wykonaj te czynności:
- Zaloguj się w interfejsie użytkownika Edge.
- Kliknij Admin > Virtual Hosts (Administracja > Hosty wirtualne).
- Wybierz konkretne Środowisko, w którym chcesz wprowadzić tę zmianę.
- Wybierz 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 tym ilustracji:
- Zapisz zmianę.
Interfejs API Edge
Aby skonfigurować hosta wirtualnego przy użyciu interfejsu Edge API, wykonaj te czynności:
- Pobierz bieżącą konfigurację hosta wirtualnego za pomocą interfejsu API
Pobierz hosta wirtualnego, jak pokazano poniżej:
Użytkownik chmury publicznej
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 virtualhost
{ "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_timeout
do istniejącego ładunku JSON konfiguracji hosta wirtualnego w lokalizacjiproperties
z wartością w sekundach.Aby na przykład zmienić limit czasu wejścia-wyjścia na 120 sekund, dodaj blok kodu
properties
w ten sposób: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ę
virtualhost
za pomocą interfejsu API Zaktualizuj hosta wirtualnego w ten sposób:Użytkownik chmury publicznej
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 operacji wejścia-wyjścia na hostach wirtualnych
W tej sekcji dowiesz się, jak za pomocą interfejsu Edge API sprawdzić, czy limit czasu wejścia-wyjścia na hoście wirtualnym został zmodyfikowany.
- Uruchom interfejs API
Get virtual host, aby pobrać konfigurację
virtualhost
, jak pokazano poniżej:Użytkownik chmury publicznej
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
- Upewnij się, że właściwość
proxy_read_timeout
ma 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 }
Zwróć uwagę, że w powyższym przykładzie dla parametru
proxy_read_timeout
została ustawiona nowa wartość 120 sekund. - Jeśli nadal widzisz starą wartość parametru
proxy_read_timeout,
, sprawdź, czy zostały prawidłowo wykonane wszystkie czynności opisane w artykule Konfigurowanie limitu czasu wejścia-wyjścia na hoście wirtualnym. Jeśli pominięto jakiś krok, powtórz wszystkie kroki ponownie. - Jeśli nadal nie możesz zmienić limitu czasu wejścia-wyjścia, skontaktuj się z zespołem pomocy Apigee Edge.
Konfigurowanie czasu oczekiwania wejścia-wyjścia w routerach
W tej sekcji wyjaśniono, jak skonfigurować limit czasu wejścia/wyjścia w routerach. Limit czasu wejścia/wyjścia można skonfigurować za pomocą właściwości Router (conf_load_balancing_load.balancing.driver.proxy.read.timeout
), która reprezentuje wartość limitu czasu wejścia/wyjścia w sekundach.
Aby skonfigurować czas oczekiwania wejścia-wyjścia w routerach, wykonaj te czynności:
- Na routerze otwórz poniższy plik w edytorze. Jeśli jeszcze nie istnieje, utwórz go.
/opt/apigee/customer/application/router.properties
Aby na przykład otworzyć plik w
vi
, wpisz to polecenie:vi /opt/apigee/customer/application/router.properties
- Dodaj do pliku
properties
wiersz w tym formacie, zastępując wartośćtime_in_seconds
: - Zapisz zmiany.
- Upewnij się, że ten plik właściwości należy do użytkownika
apigee
, tak jak pokazano poniżej:chown apigee:apigee /opt/apigee/customer/application/router.properties
- Ponownie uruchom router, jak pokazano poniżej:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Jeśli masz więcej niż jeden router, powtórz powyższe kroki 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 w routerze na 120 sekund, dodaj ten wiersz:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
Możesz też zmienić 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
Sprawdzam czas oczekiwania wejścia-wyjścia w routerach
Ta sekcja wyjaśnia, jak sprawdzić, czy limit czasu wejścia/wyjścia w routerach został zmodyfikowany.
Mimo że do ustawiania czasu oczekiwania wejścia-wyjścia w routerze używasz tokena conf_load_balancing_load.balancing.driver.proxy.read.timeout
, musisz sprawdzić, czy właściwość proxy_read_timeout
ma ustawioną nową wartość.
- Wyszukaj właściwość
proxy_read_timeout
w katalogu/opt/nginx/conf.d
i sprawdź, czy została ona ustawiona z nową wartością w ten sposób:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Jeśli nowa wartość limitu czasu wejścia/wyjścia zostanie ustawiona w routerze, to polecenie powyżej wyświetli nową wartość we wszystkich plikach konfiguracji hosta wirtualnego.
Poniżej znajdziesz przykładowy wynik polecenia
grep
powyż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 przykładowych danych wyjściowych powyżej widać, że właściwość
proxy_read_timeout
została ustawiona na nową wartość 120 w pliku0-default.conf
, który jest plikiem konfiguracji domyślnego hosta wirtualnego. Wskazuje to, że limit czasu wejścia-wyjścia został skonfigurowany w routerze na 120 sekund. - Jeśli nadal widzisz starą wartość właściwości
proxy_read_timeout
, sprawdź, czy zostały wykonane wszystkie czynności opisane w sekcji Konfigurowanie limitu czasu wejścia-wyjścia w routerach. Jeśli pominięto jakiś krok, powtórz wszystkie kroki ponownie. - Jeśli nadal nie możesz zmienić limitu czasu wejścia-wyjścia, skontaktuj się z zespołem pomocy Apigee Edge.
Co dalej?
Dowiedz się więcej o konfigurowaniu limitu czasu operacji wejścia-wyjścia w procesorze wiadomości.