Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
In diesem Dokument wird erläutert, wie Sie das E/A-Zeitlimit auf den Routern von Apigee Edge konfigurieren.
Das E/A-Zeitlimit auf dem Router steht für die Zeit, die der Router auf eine Antwort vom Message Processor wartet, nachdem die Verbindung hergestellt und die Anfrage an den Message Processor gesendet wurde. Der Standardwert für das E/A-Zeitlimit des Routers beträgt 57 Sekunden.
Das E/A-Zeitlimit für Router kann je nach Ihren Anforderungen auf den Standardwert von 57 Sekunden erhöht oder verringert werden. Es kann auf folgende Arten konfiguriert werden:
- In einem virtuellen Host
- Auf dem Router
Die folgenden Attribute steuern das E/A-Zeitlimit der Router:
Eigenschaftsname | Standort | Beschreibung |
---|---|---|
proxy_read_timeout
|
Virtueller Host |
Gibt die maximale Zeit an, die der Router auf eine Antwort vom Message Processor wartet, nachdem die Verbindung hergestellt und die Anfrage an den Message Processor gesendet wurde. Wenn innerhalb dieses Zeitlimits keine Antwort vom Message Processor empfangen wird, kommt es zu einer Zeitüberschreitung des Routers. Standardmäßig verwendet dieses Attribut den Wert, der auf dem Router für das Attribut Wenn diese Eigenschaft mit einem neuen Zeitüberschreitungswert für einen bestimmten virtuellen Host geändert wird, sind nur die API-Proxys betroffen, die diesen bestimmten virtuellen Host verwenden. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
Router |
Gibt die maximale Zeit an, die der Router auf eine Antwort vom Message Processor wartet, nachdem die Verbindung hergestellt und die Anfrage an den Message Processor gesendet wurde. Wenn innerhalb dieses Zeitlimits keine Antwort vom Message Processor empfangen wird, kommt es zu einer Zeitüberschreitung des Routers. Diese Eigenschaft wird für alle virtuellen Hosts auf diesem Router verwendet. Der Standardwert dieser Property beträgt 57 Sekunden. Sie können dieses Attribut entweder wie unter E/A-Zeitlimit bei Routern konfigurieren unten erläutert ändern oder diesen Wert überschreiben, indem Sie das Attribut 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 auf eine Antwort von allen Message Processorn wartet, nachdem die Verbindung hergestellt und die Anfrage an jeden Message Processor gesendet wurde. Dies gilt, wenn Ihre Edge-Installation mehrere Nachrichtenprozessoren hat und Wiederholungsversuche aktiviert sind, wenn Fehler auftreten. Sie hat einen der folgenden Werte:
Wie beim Attribut |
Hinweis
Bevor Sie die Schritte in diesem Dokument ausführen, sollten Sie sich mit den folgenden Themen vertraut machen:
- Wenn Sie mit den Eigenschaften virtueller Hosts nicht vertraut sind, lesen Sie die Referenz zu den Eigenschaften virtueller Hosts.
- Wenn Sie mit dem Konfigurieren von Eigenschaften für Edge in der Private Cloud nicht vertraut sind, lesen Sie Edge konfigurieren.
- Beachten Sie die Empfehlungen unter Best Practices zum Konfigurieren von E/A-Zeitüberschreitungen.
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 einer Organisation und Umgebung zugeordnet ist. Das E/A-Zeitlimit kann im virtuellen Host über das Attribut proxy_read_timeout
konfiguriert werden, das den E/A-Zeitüberschreitungswert in Sekunden darstellt.
Sie können den virtuellen Host mit einer der folgenden Methoden konfigurieren:
- Edge-Benutzeroberfläche
- Edge-API
Edge-Benutzeroberfläche
So konfigurieren Sie den virtuellen Host mithilfe der Edge-Benutzeroberfläche:
- Melden Sie sich bei der Edge-UI an.
- Gehen Sie zu Admin > Virtual Hosts (Verwaltung > Virtuelle Hosts).
- Wählen Sie eine bestimmte Umgebung aus, für die Sie diese Änderung vornehmen möchten.
- Wählen Sie den spezifischen virtuellen Host aus, für den Sie den neuen E/A-Zeitüberschreitungswert konfigurieren möchten.
- Aktualisieren Sie unter Eigenschaften den Wert für die Zeitüberschreitung bei Proxy-Lesevorgängen in Sekunden.
Wenn Sie beispielsweise das Zeitlimit auf 120 Sekunden ändern möchten, geben Sie 120 ein, wie in der folgenden Abbildung dargestellt:
- Speichern Sie die Änderung.
Edge-API
So konfigurieren Sie den virtuellen Host mithilfe der Edge API:
- Rufen Sie die aktuelle Konfiguration des virtuellen Hosts mithilfe der API
Get virtual host (Virtuellen Host abrufen) ab, wie unten gezeigt:
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.
Beispiel für eine Virtualhost-Konfiguration
{ "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 virtuellen Hostkonfiguration unter
properties
das Attributproxy_read_timeout
mit dem Wert in Sekunden hinzu.Wenn Sie beispielsweise das E/A-Zeitlimit auf 120 Sekunden ändern möchten, fügen Sie den Codeblock
properties
hinzu, wie unten gezeigt: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 }
- Speichern Sie die aktualisierte Konfiguration des virtuellen Hosts in einer Datei. Beispiel:
virtualhost-payload.json
. - Aktualisieren Sie die
virtualhost
-Konfiguration mit der Änderung mithilfe der API Virtuellen Host aktualisieren so: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, ob das E/A-Zeitlimit auf dem virtuellen Host mithilfe der Edge API erfolgreich geändert wurde.
- Führen Sie die
Get virtual host API aus, 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.
- Prüfen Sie, ob die Property
proxy_read_timeout
auf den neuen Wert gesetzt 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
auf den neuen Wert von 120 Sekunden festgelegt wurde. - Wenn der alte Wert für
proxy_read_timeout,
weiterhin angezeigt wird, prüfen Sie, ob Sie alle unter E/A-Zeitlimit im virtuellen Host konfigurieren beschriebenen Schritte korrekt ausgeführt haben. Wenn Sie einen Schritt ausgelassen haben, wiederholen Sie alle Schritte korrekt. - Wenn Sie das E/A-Zeitlimit immer noch nicht ändern können, wenden Sie sich an den Apigee Edge-Support.
E/A-Zeitlimit bei Routern konfigurieren
In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit auf den Routern konfigurieren. Das E/A-Zeitlimit kann über das Routerattribut conf_load_balancing_load.balancing.driver.proxy.read.timeout
konfiguriert werden, das den E/A-Zeitüberschreitungswert in Sekunden darstellt.
So konfigurieren Sie das E/A-Zeitlimit bei den Routern:
- Öffnen Sie auf der Router-Maschine die folgende Datei in einem Editor. Wenn sie noch nicht vorhanden ist, erstellen Sie sie.
/opt/apigee/customer/application/router.properties
Geben Sie beispielsweise den folgenden Befehl ein, um die Datei mit
vi
zu öffnen:vi /opt/apigee/customer/application/router.properties
- Fügen Sie der Datei
properties
eine Zeile im folgenden Format hinzu und ersetzen Sie dabeitime_in_seconds
durch einen Wert: - Speichern Sie die Änderungen.
- Achten Sie darauf, dass der Inhaber dieser Property-Datei der Nutzer
apigee
ist (siehe unten):chown apigee:apigee /opt/apigee/customer/application/router.properties
- Starten Sie den Router wie unten gezeigt neu:
/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 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. Wenn Sie beispielsweise das Zeitlimit 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 bei den Routern verifizieren
In diesem Abschnitt wird erläutert, wie Sie überprüfen können, ob das E/A-Zeitlimit auf den Routern erfolgreich geändert wurde.
Auch wenn Sie das Token conf_load_balancing_load.balancing.driver.proxy.read.timeout
verwenden, um das E/A-Zeitlimit auf dem Router festzulegen, müssen Sie prüfen, ob das tatsächliche Attribut proxy_read_timeout
mit dem neuen Wert festgelegt wurde.
- Suchen Sie im Verzeichnis
/opt/nginx/conf.d
nach der Propertyproxy_read_timeout
und prüfen Sie, ob sie mit dem neuen Wert so festgelegt wurde:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Wenn der neue E/A-Zeitüberschreitungswert auf dem Router erfolgreich festgelegt wurde, zeigt der obige Befehl den neuen Wert in allen Konfigurationsdateien des virtuellen Hosts an.
Hier ist das Beispielergebnis des obigen
grep
-Befehls, 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;
Beachten Sie in der obigen Beispielausgabe, dass das Attribut
proxy_read_timeout
in0-default.conf
, der Konfigurationsdatei für den virtuellen Standardhost, auf den neuen Wert 120 gesetzt wurde. Dies bedeutet, dass das E/A-Zeitlimit auf dem Router auf 120 Sekunden konfiguriert wurde. - Wenn noch der alte Wert für das Attribut
proxy_read_timeout
angezeigt wird, prüfen Sie, ob Sie alle Schritte unter E/A-Zeitlimit bei Routern konfigurieren korrekt ausgeführt haben. Wenn Sie einen Schritt ausgelassen haben, wiederholen Sie alle Schritte korrekt. - 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 der E/A-Zeitüberschreitung im Message Processor