Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur
Dokumentation zuApigee X wechseln. info
In diesem Dokument wird erläutert, wie Sie das E/A-Zeitlimit für Router in Apigee Edge konfigurieren.
Das E/A-Zeitlimit für den Router gibt an, wie lange der Router wartet, bis er eine Antwort vom Message Processor erhält, nachdem er die Verbindung hergestellt und die Anfrage an den Message Processor gesendet hat. Der Standardwert für das E/A-Zeitlimit für den Router beträgt 57 Sekunden.
Das E/A-Zeitlimit für Router kann je nach Bedarf von 57 Sekunden erhöht oder verringert werden. Es kann auf folgende Arten konfiguriert werden:
- In einem virtuellen Host
- Auf dem Router
Die folgenden Eigenschaften steuern das E/A-Zeitlimit für die Router:
| Property-Name | Standort | Beschreibung |
|---|---|---|
proxy_read_timeout
|
Virtueller Host |
Gibt die maximale Zeit an, die der Router wartet, bis er eine Antwort vom Message Processor erhält, nachdem er die Verbindung hergestellt und die Anfrage an den Message Processor gesendet hat. Wenn innerhalb dieses Zeitlimits keine Antwort vom Message Processor eingeht, tritt für den Router eine Zeitüberschreitung auf. Standardmäßig wird für diese Eigenschaft der Wert verwendet, der für die
Wenn diese Eigenschaft mit einem neuen Zeitlimitwert für einen bestimmten virtuellen Host geändert wird, sind nur die API-Proxys betroffen, die diesen virtuellen Host verwenden. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
Router |
Gibt die maximale Zeit an, die der Router wartet, bis er eine Antwort vom Message Processor erhält, nachdem er die Verbindung hergestellt und die Anfrage an den Message Processor gesendet hat. Wenn innerhalb dieses Zeitlimits keine Antwort vom Message Processor eingeht, tritt für den Router eine Zeitüberschreitung auf. Diese Eigenschaft wird für alle virtuellen Hosts auf diesem Router verwendet. Der Standardwert dieser Eigenschaft ist 57 Sekunden. Sie können diese Eigenschaft entweder wie unten unter
E/A-Zeitlimit für Router konfigurieren beschrieben ändern oder diesen Wert überschreiben, indem Sie die Eigenschaft Sie können das Zeitintervall für diese Eigenschaft mit der folgenden Notation auf einen anderen Wert als Sekunden festlegen: 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 die Gesamtzeit an, die der Router wartet, bis er eine Antwort von allen Message Processors erhält, nachdem er die Verbindung hergestellt und die Anfrage an jeden Message Processor gesendet hat. Dies gilt, wenn in Ihrer Edge-Installation mehrere Message Processors vorhanden sind und Wiederholungen bei Fehlern aktiviert sind. Sie hat einen der folgenden Werte:
Wie bei der |
Hinweis
Bevor Sie die Schritte in diesem Dokument ausführen, sollten Sie die folgenden Themen kennen:
- Wenn Sie mit den Eigenschaften virtueller Hosts nicht vertraut sind, lesen Sie die Referenz zu den Eigenschaften virtueller Hosts.
- Wenn Sie nicht wissen, wie Sie Eigenschaften für Edge in Private Cloud konfigurieren, lesen Sie Edge konfigurieren.
- Beachten Sie die Best Practices für die Konfiguration des E/A-Zeitlimits.
E/A-Zeitlimit im virtuellen Host konfigurieren
In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit im virtuellen Host konfigurieren, der mit einer
Organisation und Umgebung verknüpft ist. Das E/A-Zeitlimit kann im virtuellen Host über die
Eigenschaft proxy_read_timeout, die den Wert des E/A-Zeitlimits in Sekunden darstellt, konfiguriert werden.
Sie können den virtuellen Host mit einer der folgenden Methoden konfigurieren:
- Edge UI
- Edge API
Edge UI
So konfigurieren Sie den virtuellen Host über die Edge UI:
- Melden Sie sich in der Edge UI an.
- Gehen Sie zu Verwaltung > Virtuelle Hosts.
- Wählen Sie eine bestimmte Umgebung aus, in der Sie diese Änderung vornehmen möchten.
- Wählen Sie den virtuellen Host aus, für den Sie den neuen Wert für das E/A-Zeitlimit konfigurieren möchten.
- Aktualisieren Sie unter Eigenschaften den Wert für Proxy-Lesevorgang-Zeitlimit in Sekunden.
Wenn Sie das Zeitlimit beispielsweise auf 120 Sekunden ändern möchten, geben Sie 120 ein, wie in der folgenden Abbildung gezeigt:
- Speichern Sie die Änderung.
Edge API
So konfigurieren Sie den virtuellen Host über die Edge API:
- Rufen Sie die aktuelle Konfiguration des virtuellen Hosts mit der
Get virtual host API ab, wie unten gezeigt:
Nutzer der Public Cloud
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Nutzer der Private Cloud
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 einen virtuellen Host
{ "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 } - Fügen Sie der vorhandenen JSON-Nutzlast der Konfiguration des virtuellen Hosts unter
propertiesdie Eigenschaftproxy_read_timeoutmit dem Wert in Sekunden hinzu.Wenn Sie das E/A-Zeitlimit beispielsweise auf 120 Sekunden ändern möchten, fügen Sie den
propertiesCodeblock wie unten gezeigt hinzu:Beispiel für eine aktualisierte Konfiguration eines virtuellen Hosts
{ "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 } - Speichern Sie die aktualisierte Konfiguration des virtuellen Hosts in einer Datei. Beispiel:
virtualhost-payload.json. - Aktualisieren Sie die
virtualhostKonfiguration mit der Änderung über die Update a virtual host API wie folgt:Nutzer der 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>
Nutzer der 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>
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 für virtuelle Hosts prüfen
In diesem Abschnitt wird erläutert, wie Sie mit der Edge API prüfen, ob das E/A-Zeitlimit für den virtuellen Host erfolgreich geändert wurde.
- Führen Sie die
Get virtual host API aus, um die
virtualhostKonfiguration abzurufen, wie unten gezeigt:Nutzer der Public Cloud
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Nutzer der Private Cloud
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.
- Prüfen Sie, ob die Eigenschaft
proxy_read_timeoutauf den neuen Wert festgelegt wurde.Beispiel für eine aktualisierte Konfiguration eines virtuellen Hosts
{ "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 }Im obigen Beispiel wurde
proxy_read_timeoutauf den neuen Wert von 120 Sekunden festgelegt. - Wenn Sie immer noch den alten Wert für
proxy_read_timeout,sehen, prüfen Sie, ob Sie alle Schritte unter E/A-Zeitlimit im virtuellen Host konfigurieren korrekt ausgeführt haben. Wenn Sie einen Schritt ausgelassen haben, wiederholen Sie alle Schritte noch einmal. - Wenn Sie das E/A-Zeitlimit immer noch nicht ändern können, wenden Sie sich an den Apigee Edge-Support.
E/A-Zeitlimit für Router konfigurieren
In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit für die Router konfigurieren. Das E/A-Zeitlimit kann über die Router-Eigenschaft conf_load_balancing_load.balancing.driver.proxy.read.timeout konfiguriert werden, die den Wert des E/A-Zeitlimits in Sekunden darstellt.
So konfigurieren Sie das E/A-Zeitlimit für die Router:
- Öffnen Sie auf dem Router die folgende Datei in einem Editor. Wenn sie noch nicht vorhanden ist, erstellen Sie sie.
/opt/apigee/customer/application/router.properties
Wenn Sie die Datei beispielsweise mit
viöffnen möchten, geben Sie den folgenden Befehl ein:vi /opt/apigee/customer/application/router.properties
- Fügen Sie der Datei
propertieseine Zeile im folgenden Format hinzu und ersetzen Sie einen Wert fürtime_in_seconds: - Speichern Sie die Änderungen.
- Prüfen Sie, ob der Nutzer
apigeeder Inhaber dieser Eigenschaftendatei ist, wie unten gezeigt:chown apigee:apigee /opt/apigee/customer/application/router.properties
- Starten Sie den Router neu, wie unten gezeigt:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Wenn Sie mehr als einen Router haben, wiederholen Sie die obigen Schritte für alle Router.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
Wenn Sie das E/A-Zeitlimit für den Router beispielsweise 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 das E/A-Zeitlimit auch in Minuten ändern. Wenn Sie das Zeitlimit beispielsweise auf zwei Minuten ändern möchten, fügen Sie die folgende Zeile hinzu:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
E/A-Zeitlimit für die Router prüfen
In diesem Abschnitt wird erläutert, wie Sie prüfen, ob das E/A-Zeitlimit für die Router erfolgreich geändert wurde.
Auch wenn Sie das Token
conf_load_balancing_load.balancing.driver.proxy.read.timeout verwenden, um das E/A-Zeitlimit
für den Router festzulegen, müssen Sie prüfen, ob die tatsächliche Eigenschaft proxy_read_timeout mit dem neuen Wert festgelegt wurde.
- Suchen Sie im
/opt/nginx/conf.dVerzeichnis nach der Eigenschaftproxy_read_timeoutund prüfen Sie, ob sie mit dem neuem Wert festgelegt wurde:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Wenn der neue Wert für das E/A-Zeitlimit erfolgreich auf dem Router festgelegt wurde, wird der neue Wert im obigen Befehl
in allen Konfigurationsdateien des virtuellen Hosts angezeigt.
Das folgende Beispiel zeigt das Ergebnis des obigen
grepBefehls, wenn das E/A-Zeitlimit 120 Sekunden beträgt:/opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120; /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
In der obigen Beispielausgabe wurde die Eigenschaft
proxy_read_timeoutin0-default.confmit dem neuen Wert 120 festgelegt. Dies ist die Konfigurationsdatei für den Standard-virtuellen Host. Das bedeutet, dass das E/A-Zeitlimit auf dem Router erfolgreich auf 120 Sekunden konfiguriert wurde. - Wenn Sie immer noch den alten Wert für die Eigenschaft
proxy_read_timeoutsehen, dann prüfen Sie, ob Sie alle Schritte unter E/A-Zeitlimit für Router konfigurieren korrekt ausgeführt haben. Wenn Sie einen Schritt ausgelassen haben, wiederholen Sie alle Schritte noch einmal. - Wenn Sie das E/A-Zeitlimit immer noch nicht ändern können, wenden Sie sich an den Apigee Edge-Support.
Wie geht es weiter?
Informationen zum Konfigurieren des E/A-Zeitlimits im Message Processor