Konfigurowanie limitu czasu wejścia/wyjścia w routerach

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 conf_load_balancing_load.balancing.driver.proxy.read.timeout w routerze. Wartość domyślna to 57 sekund.

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ść proxy_read_timeout na poziomie hosta wirtualnego.

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:

  • Bieżąca wartość conf_load_balancing_load.balancing.driver.proxy.read.timeout
  • Wartość domyślna to 57 sekund.

Tak jak we właściwości conf_load_balancing_load.balancing.driver.proxy.read.timeout, możesz też określać inne przedziały czasu niż domyślne (w sekundach).

Zanim zaczniesz

Zanim wykonasz czynności opisane w tym dokumencie, upewnij się, że rozumiesz następujące zagadnienia:

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:

  1. Zaloguj się w interfejsie użytkownika Edge.
  2. Kliknij Admin > Virtual Hosts (Administracja > Hosty wirtualne).
  3. Wybierz konkretne Środowisko, w którym chcesz wprowadzić tę zmianę.
  4. Wybierz hosta wirtualnego, dla którego chcesz skonfigurować nową wartość limitu czasu wejścia/wyjścia.
  5. 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:

    Wartość limitu czasu odczytu serwera proxy wynosząca 120

  6. Zapisz zmianę.

Interfejs API Edge

Aby skonfigurować hosta wirtualnego przy użyciu interfejsu Edge API, wykonaj te czynności:

  1. 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
        }
    
  2. Dodaj właściwość proxy_read_timeout do istniejącego ładunku JSON konfiguracji hosta wirtualnego w lokalizacji properties 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
    }
    
  3. Zapisz zaktualizowaną konfigurację hosta wirtualnego w pliku. Na przykład: virtualhost-payload.json.
  4. 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.

  1. 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

  2. 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.

  3. 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.
  4. 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:

  1. 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
    
  2. Dodaj do pliku properties wiersz w tym formacie, zastępując wartość time_in_seconds:
  3. 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
    
  4. Zapisz zmiany.
  5. 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
    
  6. Ponownie uruchom router, jak pokazano poniżej:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  7. Jeśli masz więcej niż jeden router, powtórz powyższe kroki na wszystkich routerach.

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ść.

  1. 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
    
  2. 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 pliku 0-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.

  3. 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.
  4. 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.