E/A-Zeitüberschreitung bei Routern konfigurieren

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

<ph type="x-smartling-placeholder">

In diesem Dokument wird erläutert, wie Sie das E/A-Zeitlimit auf den Apigee Edge-Routern konfigurieren.

Das E/A-Zeitlimit auf dem Router stellt die Zeit dar, die der Router auf den Empfang einer Antwort vom Message Processor, nachdem die Verbindung hergestellt und die Anfrage gesendet wurde an den Message Processor gesendet. Der Standardwert für das E/A-Zeitlimit auf dem Router beträgt 57 Sekunden.

Das E/A-Zeitlimit für Router kann im Vergleich zum Standardwert von 57 Sekunden erhöht oder verringert werden. ganz nach Ihren Bedürfnissen. Es kann folgendermaßen konfiguriert werden:

  • Bei einem virtuellen Host
  • Am Router

Mit den folgenden Eigenschaften wird das E/A-Zeitlimit auf den Routern festgelegt:

Property-Name Standort Beschreibung
proxy_read_timeout Virtueller Host

Gibt an, wie lange der Router maximal auf eine Antwort vom Message Processor, nachdem die Verbindung hergestellt und die Anfrage an den Message Processor.

Wenn innerhalb dieses Zeitlimits keine Antwort vom Message Processor eingeht, wird der Beim Router tritt eine Zeitüberschreitung auf.

Standardmäßig wird für diese Eigenschaft der Wert verwendet, der für das Attribut conf_load_balancing_load.balancing.driver.proxy.read.timeout auf dem Router. Die Der Standardwert ist 57 seconds.

Wenn dieses Attribut mit einem neuen Zeitüberschreitungswert für einen bestimmten virtuellen Host geändert wird, gilt Folgendes: sind nur die API-Proxys betroffen, die diesen spezifischen virtuellen Host verwenden.

conf_load_balancing_load.balancing.driver.proxy.read.timeout Router

Gibt an, wie lange der Router maximal auf eine Antwort vom Message Processor, nachdem die Verbindung hergestellt und die Anfrage an den Message Processor.

Wenn innerhalb dieses Zeitlimits keine Antwort vom Message Processor eingeht, wird der Beim Router tritt eine Zeitüberschreitung auf.

Dieses Attribut wird für alle virtuellen Hosts auf diesem Router verwendet.

Der Standardwert dieser Eigenschaft ist 57 Sekunden.

Sie können diese Eigenschaft wie in Konfigurieren Sie das E/A-Zeitlimit auf Routern unten oder überschreiben Sie indem Sie das Attribut proxy_read_timeout auf der Ebene des virtuellen Hosts festlegen.

Mit der Methode folgende Notation:

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

Gibt an, wie lange der Router insgesamt auf eine Antwort von allen Nachrichten Prozessoren, nachdem die Verbindung hergestellt und die Anfrage an jede Nachricht gesendet wurde Prozessor.

Dies gilt, wenn Ihre Edge-Installation mehrere Message Processor und Die Wiederholung wird beim Auftreten von Fehlern aktiviert. Es hat einen der folgenden Werte:

  • Der aktuelle Wert von conf_load_balancing_load.balancing.driver.proxy.read.timeout
  • Der Standardwert von 57 Sekunden

Wie bei conf_load_balancing_load.balancing.driver.proxy.read.timeout können Sie andere Zeitintervalle als die Standardzeiträume (Sekunden) angeben.

Hinweis

Bevor Sie die Schritte in diesem Dokument verwenden, machen Sie sich mit den folgenden Themen vertraut:

<ph type="x-smartling-placeholder">

E/A-Zeitlimit im virtuellen Host konfigurieren

In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit auf dem virtuellen Host konfigurieren, der einem Organisation und Umgebung. Das E/A-Zeitlimit kann auf dem virtuellen Host über die Eigenschaft proxy_read_timeout, die das E/A-Zeitlimit in Sekunden darstellt.

<ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">

Sie können den virtuellen Host mit einer der folgenden Methoden konfigurieren:

  • Edge-Benutzeroberfläche
  • Edge-API

Edge-Benutzeroberfläche

<ph type="x-smartling-placeholder">

So konfigurieren Sie den virtuellen Host mithilfe der Edge-Benutzeroberfläche:

  1. Melden Sie sich bei der Edge-Benutzeroberfläche an.
  2. Klicken Sie auf Verwaltung > Virtuelle Hosts
  3. Wählen Sie eine bestimmte Umgebung aus, in der Sie diese Änderung vornehmen möchten.
  4. Wählen Sie den spezifischen virtuellen Host aus, für den Sie den neuen virtuellen Host konfigurieren möchten. E/A-Zeitüberschreitungswert.
  5. Aktualisieren Sie unter Eigenschaften den Wert für die Proxy-Lesezeitüberschreitung in Sekunden.

    Wenn Sie das Zeitlimit beispielsweise auf 120 Sekunden ändern möchten, geben Sie 120 ein, wie im folgende Abbildung:

    Proxy-Lesezeitwert von 120

  6. Speichern Sie die Änderung.

Edge-API

So konfigurieren Sie den virtuellen Host mit der Edge API:

  1. Rufen Sie die aktuelle Konfiguration des virtuellen Hosts mit der <ph type="x-smartling-placeholder"></ph> Rufen Sie die Virtual Host API wie unten gezeigt ab:

    Public Cloud-Nutzer

    curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                    

    Private Cloud-Nutzer

    curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                    

    Wobei:

    {organization-name} ist der Name der Organisation.

    {environment-name} ist der Name der Umgebung.

    {virtualhost-name} ist der Name des virtuellen Hosts.

    Beispielkonfiguration für virtuelle Hosts

        {
          "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. Fügen Sie der vorhandenen Konfiguration virtueller Hosts das Attribut proxy_read_timeout hinzu. JSON-Nutzlast unter properties mit dem Wert in Sekunden.

    Wenn Sie beispielsweise das E/A-Zeitlimit auf 120 Sekunden ändern möchten, fügen Sie den properties Codeblocks wie unten dargestellt:

    Beispiel für eine aktualisierte virtuelle Hostkonfiguration

    {
      "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. Speichern Sie die aktualisierte virtuelle Hostkonfiguration in einer Datei. Beispiel: virtualhost-payload.json.
  4. Aktualisieren Sie die virtualhost-Konfiguration mit der Änderung mithilfe des <ph type="x-smartling-placeholder"></ph> So aktualisieren Sie die API eines virtuellen Hosts:

    Public Cloud-Nutzer

    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>
                

    Private Cloud-Nutzer

    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>
                

    Wobei:

    {organization-name} ist der Name der Organisation.

    {environment-name} ist der Name der Umgebung.

    {virtualhost-name} ist der Name des virtuellen Hosts.

E/A-Zeitlimit auf virtuellen Hosts prüfen

In diesem Abschnitt wird erläutert, wie Sie überprüfen können, ob das E/A-Zeitlimit erfolgreich geändert wurde virtuellen Host mit der Edge API verwenden.

  1. Führen Sie den <ph type="x-smartling-placeholder"></ph> Rufen Sie die API für den virtuellen Host ab, um die virtualhost-Konfiguration wie unten gezeigt zu erhalten:

    Public Cloud-Nutzer

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                  

    Private Cloud-Nutzer

    curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                  

    Wobei:

    {organization-name} ist der Name der Organisation.

    {environment-name} ist der Name der Umgebung.

    {virtualhost-name} ist der Name des virtuellen Hosts.

  2. Prüfen Sie, ob das Attribut proxy_read_timeout auf den neuen Wert festgelegt wurde.

    Beispiel für eine aktualisierte virtuelle Hostkonfiguration

    {
      "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
    }
    

    Beachten Sie im obigen Beispiel, dass proxy_read_timeout mit den neuen Wert von 120 Sekunden.

  3. Wenn für proxy_read_timeout, immer noch der alte Wert angezeigt wird, überprüfen Sie, ob Sie Sie haben alle Schritte korrekt ausgeführt, die unter E/A-Zeitüberschreitung im virtuellen Host konfigurieren aufgeführt sind. Wenn Sie einen Schritt verpasst haben, wiederholen Sie alle Schritte noch einmal richtig.
  4. Wenn Sie das E/A-Zeitlimit immer noch nicht ändern können, wenden Sie sich an den Apigee Edge-Support.

E/A-Zeitlimit auf Routern konfigurieren

In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit auf den Routern konfigurieren. Das E/A-Zeitlimit kann die über das Attribut „Router“ konfiguriert wurden, conf_load_balancing_load.balancing.driver.proxy.read.timeout steht für den E/A-Zeitüberschreitungswert in Sekunden.

<ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">

So konfigurieren Sie das E/A-Zeitlimit auf den Routern:

  1. Öffnen Sie auf dem Router-Computer die folgende Datei in einem Editor. Wenn sie noch nicht vorhanden ist, erstellen Sie sie.
    /opt/apigee/customer/application/router.properties
    

    Um die Datei beispielsweise mit vi, geben Sie den folgenden Befehl ein:

    vi /opt/apigee/customer/application/router.properties
    
  2. Fügen Sie der Datei properties eine Zeile im folgenden Format hinzu und ersetzen Sie dabei Wert für time_in_seconds:
  3. conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
    

    Wenn Sie beispielsweise das E/A-Zeitlimit des Routers auf 120 Sekunden ändern möchten, fügen Sie die folgende Zeile hinzu:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    

    Sie können auch das E/A-Zeitlimit in Minuten ändern. Um das Zeitlimit beispielsweise in fügen Sie die folgende Zeile hinzu:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
    
    <ph type="x-smartling-placeholder">
  4. Speichern Sie die Änderungen.
  5. Achten Sie darauf, dass diese Property-Datei dem Nutzer apigee gehört, wie unten gezeigt:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  6. Starten Sie den Router wie unten beschrieben neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  7. Wenn Sie mehrere Router haben, wiederholen Sie die oben beschriebenen Schritte auf allen Routern.

E/A-Zeitlimit auf den Routern prüfen

In diesem Abschnitt wird erläutert, wie Sie überprüfen können, ob das E/A-Zeitlimit erfolgreich geändert wurde Router.

Auch wenn Sie das Token conf_load_balancing_load.balancing.driver.proxy.read.timeout, um das E/A-Zeitlimit festzulegen auf dem Router müssen Sie überprüfen, ob die Property proxy_read_timeout mit dem neuen Wert festgelegt wurde.

  1. Suchen Sie nach der Property proxy_read_timeout in der /opt/nginx/conf.d und prüfen Sie, ob der Wert mit dem folgenden neuen Wert:
    grep -ri "proxy_read_timeout" /opt/nginx/conf.d
    
  2. Wenn der neue E/A-Zeitüberschreitungswert am Router eingestellt wurde, wird mit dem obigen Befehl zeigt den neuen Wert in allen Konfigurationsdateien des virtuellen Hosts an.

    Hier sehen Sie das Beispielergebnis mit dem obigen Befehl grep, wenn der Das E/A-Zeitlimit beträgt 120 Sekunden:

    /opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120;
    /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
    

    Beachten Sie in der obigen Beispielausgabe, dass das Attribut proxy_read_timeout auf den neuen Wert 120 in 0-default.conf gesetzt, Konfigurationsdatei für den virtuellen Standardhost. Das bedeutet, dass das E/A-Zeitlimit auf dem Router auf 120 Sekunden konfiguriert wurde.

    <ph type="x-smartling-placeholder">
  3. Wenn immer noch der alte Wert für die Eigenschaft proxy_read_timeout angezeigt wird, dann dass Sie alle Schritte ausgeführt haben, die in Konfigurieren Sie das E/A-Zeitlimit auf Routern korrekt. Wenn Sie einen Schritt verpasst haben, wiederholen Sie alle Schritte erneut richtig.
  4. Wenn Sie das E/A-Zeitlimit immer noch nicht ändern können, wenden Sie sich an den Apigee Edge-Support.

Wie geht es weiter?

Weitere Informationen zur Konfiguration der E/A-Zeitüberschreitung im Message Processor