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

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

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:

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

Podobnie jak w przypadku usługi conf_load_balancing_load.balancing.driver.proxy.read.timeout możesz określać przedziały czasu inne niż domyślne (sekundy).

Zanim zaczniesz

Przed użyciem kroków opisanych w tym dokumencie upewnij się, że rozumiesz następujące tematy:

.

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:

  1. Zaloguj się w interfejsie Edge.
  2. Wybierz kolejno Administracja > Hosty wirtualne.
  3. Wybierz konkretne środowisko, w którym chcesz wprowadzić tę zmianę.
  4. Wybierz konkretnego hosta wirtualnego, dla którego chcesz skonfigurować nowy 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 w sposób podany w ten rysunek:

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

  6. Zapisz zmianę.

Interfejs Edge API

Aby skonfigurować hosta wirtualnego za pomocą interfejsu Edge API, wykonaj te czynności:

  1. 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
        }
    
  2. Dodaj usługę proxy_read_timeout do istniejącej konfiguracji hosta wirtualnego Ładunek JSON poniżej properties 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
    }
    
  3. Zapisz zaktualizowaną konfigurację hosta wirtualnego w pliku. Przykład: virtualhost-payload.json
  4. 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.

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

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

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

  1. 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
    
  2. Dodaj do pliku properties wiersz w poniższym formacie, zastępując wartość w polu 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 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
    
  4. Zapisz zmiany.
  5. 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
    
  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 z nich.

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

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

  3. 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.
  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 wejścia-wyjścia w procesorze wiadomości.