Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Z tego dokumentu dowiesz się, jak skonfigurować limit czasu wejścia-wyjścia w routerach Apigee Edge.
Limit czasu wejścia-wyjścia w routerze reprezentuje czas, przez który router oczekuje na otrzymanie po nawiązaniu połączenia i wysłaniu żądania z procesora wiadomości do procesora wiadomości. Domyślna wartość limitu czasu wejścia-wyjścia w routerze wynosi 57 sekund.
Limit czasu wejścia-wyjścia dla routerów można zwiększyć lub zmniejszyć do wartości domyślnej wynoszącej 57 sekund zgodnie z Twoimi potrzebami. Można go skonfigurować na następujące sposoby:
- Na hoście wirtualnym
- Na routerze
Te właściwości kontrolują czas oczekiwania na operacje 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ź z serwera podmiotowi przetwarzającemu wiadomości po nawiązaniu połączenia i wysłaniu żądania do Procesor komunikatów. Jeśli w tym okresie czasu procesor wiadomości nie odpowie, Upłynął limit czasu routera. Domyślnie właściwość ta przyjmuje wartość ustawioną dla parametru
Właściwość Jeśli ta właściwość zostanie zmodyfikowana przy użyciu nowej wartości czasu oczekiwania dla określonego hosta wirtualnego, ma to wpływ tylko na serwery proxy API używające tego konkretnego hosta wirtualnego. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
Router |
Określa maksymalny czas, przez jaki router oczekuje na odpowiedź z serwera podmiotowi przetwarzającemu wiadomości po nawiązaniu połączenia i wysłaniu żądania do Procesor komunikatów. Jeśli w tym okresie czasu procesor wiadomości nie odpowie, Upłynął limit czasu routera. 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 ją zmodyfikować, postępując zgodnie z
Konfigurowanie limitu czasu wejścia-wyjścia w routerze poniżej. Możesz też zastąpić limit czasu wejścia-wyjścia w routerze.
tę wartość przez ustawienie właściwości Przedział czasu dla tej właściwości możesz ustawić na inną niż sekunda za pomocą funkcji następujący zapis: 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ź z wszystkich wiadomości Procesory po nawiązaniu połączenia i wysłaniu żądania do każdej wiadomości Procesor. Ma to zastosowanie, gdy instalacja Edge ma wiele procesorów wiadomości i ponowienie próby jest włączone w przypadku wystąpienia błędów. Ma jedną z następujących wartości:
Podobnie jak w przypadku usługi |
Zanim zaczniesz
Przed użyciem kroków opisanych w tym dokumencie upewnij się, że rozumiesz następujące tematy:
- Jeśli nie znasz właściwości hosta wirtualnego, zapoznaj się z artykułem Dokumentacja właściwości hosta wirtualnego
- Jeśli nie wiesz, jak skonfigurować właściwości Edge w Private Cloud, przeczytaj Konfiguracja Edge.
- Pamiętaj, aby postępować zgodnie z Sprawdzone metody konfigurowania czasu oczekiwania na operacje wejścia-wyjścia.
Konfigurowanie limitu czasu wejścia-wyjścia na hoście wirtualnym
Ta sekcja wyjaśnia, jak skonfigurować limit czasu wejścia-wyjścia na hoście wirtualnym powiązanym z
organizacji i środowiska. Limit czasu wejścia-wyjścia można skonfigurować na hoście wirtualnym w
proxy_read_timeout
, która reprezentuje limit czasu wejścia-wyjścia w sekundach.
Możesz skonfigurować hosta wirtualnego, korzystając z jednej z tych metod:
- Interfejs Edge
- Interfejs Edge API
Interfejs Edge
Aby skonfigurować hosta wirtualnego za pomocą interfejsu Edge:
- Zaloguj się w interfejsie Edge.
- Wybierz kolejno Administracja > Hosty wirtualne.
- Wybierz konkretne środowisko, w którym chcesz wprowadzić tę zmianę.
- Wybierz konkretnego hosta wirtualnego, dla którego chcesz skonfigurować nowy 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 w sposób podany w ten rysunek:
- Zapisz zmianę.
Interfejs Edge API
Aby skonfigurować hosta wirtualnego za pomocą interfejsu Edge API, wykonaj te czynności:
- Pobierz bieżącą konfigurację hosta wirtualnego za pomocą
Pobierz interfejs API hosta wirtualnego, 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 virtualhosta
{ "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 usługę
proxy_read_timeout
do istniejącej konfiguracji hosta wirtualnego Ładunek JSON poniżejproperties
z wartością w sekundach.Aby np. zmienić limit czasu wejścia-wyjścia na 120 sekund, dodaj
properties
jak pokazano 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. Przykład:
virtualhost-payload.json
- Wprowadź zmianę w konfiguracji
virtualhost
za pomocą Zaktualizuj interfejs API hosta wirtualnego 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
Weryfikowanie czasu oczekiwania na operacje wejścia-wyjścia w hostach wirtualnych
W tej sekcji wyjaśniamy, jak sprawdzić, czy limit czasu wejścia-wyjścia został poprawnie zmieniony za pomocą interfejsu Edge API.
- Wykonaj
Pobierz interfejs API hosta wirtualnego, aby uzyskać 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_timeout
został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 }
Zwróć uwagę, że w powyższym przykładzie pole
proxy_read_timeout
zostało ustawione z nową wartość 120 sekund. - Jeśli nadal widzisz starą wartość parametru
proxy_read_timeout,
, sprawdź, czy wykonanie wszystkich czynności opisanych w artykule Konfigurowanie limitu czasu wejścia-wyjścia na hoście wirtualnym. Jeśli pominiesz jakiś krok, powtórz je poprawnie. - Jeśli nadal nie możesz zmienić limitu czasu wejścia-wyjścia, skontaktuj się z zespołem pomocy Apigee Edge.
Konfigurowanie limitu czasu wejścia-wyjścia w routerach
Ta sekcja wyjaśnia, jak skonfigurować limit czasu wejścia-wyjścia w routerach. Limit czasu I/O może być
skonfigurowane za pomocą właściwości Router
conf_load_balancing_load.balancing.driver.proxy.read.timeout
, która reprezentuje
limit czasu wejścia-wyjścia w sekundach.
Aby skonfigurować czas oczekiwania na operacje wejścia-wyjścia w routerach, wykonaj te czynności:
- Na urządzeniu routera 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 przy użyciu
vi
wpisz to polecenie:vi /opt/apigee/customer/application/router.properties
- Dodaj do pliku
properties
wiersz w poniższym formacie, zastępując wartość w polutime_in_seconds
: - Zapisz zmiany.
- Upewnij się, że plik właściwości należy do użytkownika
apigee
, 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 z nich.
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ż zmienić limit czasu wejścia/wyjścia w kilka minut. Aby na przykład zmienić limit czasu na dwie minuty, dodaj następujący wiersz:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
Weryfikuję limit czasu wejścia-wyjścia w routerach
W tej sekcji wyjaśniamy, jak sprawdzić, czy limit czasu wejścia-wyjścia został poprawnie zmieniony Routery.
Mimo że korzystasz z tokena
conf_load_balancing_load.balancing.driver.proxy.read.timeout
, aby ustawić limit czasu wejścia-wyjścia
w routerze, musisz sprawdzić, czy rzeczywista usługa proxy_read_timeout
została ustawiona z nową wartością.
- Wyszukaj usługę
proxy_read_timeout
w/opt/nginx/conf.d
i sprawdź, czy ustawiono w nim klucz nową wartość w taki sposób:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Jeśli nowa wartość limitu czasu wejścia-wyjścia zostanie ustawiona na routerze, użyj powyższego polecenia
pokazuje nową wartość we wszystkich plikach konfiguracji hosta wirtualnego.
Poniżej znajduje się przykładowy wynik z powyższego polecenia
grep
, 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;
Zwróć uwagę na to, że w przykładowych danych wyjściowych powyżej właściwość
proxy_read_timeout
została ustawiona na nową wartość 120 w komórce0-default.conf
, która jest dla domyślnego hosta wirtualnego. Oznacza to, że limit czasu wejścia-wyjścia jest skonfigurowany na 120 sekund w routerze. - Jeśli nadal widzisz starą wartość właściwości
proxy_read_timeout
: upewnij się, że wykonano wszystkie czynności opisane w Prawidłowo skonfiguruj limit czasu wejścia-wyjścia w routerach. Jeśli pominął jakieś kroki, poprawnie powtórz wszystkie kroki. - 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 wejścia-wyjścia w procesorze wiadomości.