<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
In diesem Dokument wird erläutert, wie Sie das E/A-Zeitlimit für die Apigee Edge-Nachrichtenprozessoren konfigurieren.
Das E/A-Zeitlimit beim Message Processor stellt die Zeit dar, für die der Message Processor wartet entweder auf eine Antwort vom Back-End-Server oder darauf, dass der Socket zum Schreiben bereit ist eine Anfrage an den Back-End-Server gesendet, bevor das Zeitlimit überschritten wird.
Der Standardwert für das E/A-Zeitlimit des Message Processor ist 55 seconds
. Dieses Zeitlimit
Angabe des Zeitraums
zu den Back-End-Servern, die in der Konfiguration des Zielendpunkts und im ServiceCallout konfiguriert sind
Ihres API-Proxys.
Das E/A-Zeitlimit für Message Processor kann gegenüber dem Standardwert von
55 seconds
entsprechend Ihren Anforderungen. Sie kann an den folgenden Stellen konfiguriert werden:
- Im API-Proxy
<ph type="x-smartling-placeholder">
- </ph>
- Zielendpunkt
- ServiceCallout-Richtlinie
- Im Message Processor
Mit den folgenden Eigenschaften wird das E/A-Zeitlimit bei Message Processors gesteuert:
Property-Name | Standort | Beschreibung |
---|---|---|
io.timeout.millis
|
API-Proxy:
|
Dies ist die maximale Zeit, während der der Message Processor Folgendes ausführt:
Wenn innerhalb dieses Zeitlimits keine Antwort vom Back-End-Server eingeht, Beim Message Processor tritt eine Zeitüberschreitung auf.
Standardmäßig wird für diese Eigenschaft der Wert verwendet, der für das Attribut
Wenn dieses Attribut mit einem neuen Zeitüberschreitungswert für einen bestimmten API-Proxy geändert wird, dann ist nur dieser API-Proxy betroffen. |
HTTPTransport.io.timeout.millis
|
Message Processor |
Dies ist die maximale Zeit, während der der Message Processor Folgendes ausführt:
Wenn innerhalb dieses Zeitlimits keine Antwort vom Back-End-Server eingeht, Beim Message Processor tritt eine Zeitüberschreitung auf. Diese Eigenschaft wird für alle API-Proxys verwendet, die auf diesem Message Processor ausgeführt werden.
Der Standardwert dieses Attributs ist
Sie können diese Eigenschaft wie in
Konfigurieren Sie das E/A-Zeitlimit bei Message Processors oder
überschreiben Sie diesen Wert, indem Sie das Attribut |
Hinweis
Bevor Sie die Schritte in diesem Dokument verwenden, machen Sie sich mit den folgenden Themen vertraut:
- Wenn du mit dem E/A-Zeitlimit nicht vertraut bist, sieh dir das Attribut
io.timeout.millis
an Beschreibung auf TargetEndpoint-Transport-Attributspezifikation. - Wenn Sie mit dem Konfigurieren von Eigenschaften für Edge für Private Cloud nicht vertraut sind, lesen Sie <ph type="x-smartling-placeholder"></ph> So konfigurieren Sie Edge
- Folgen Sie den Empfehlungen in <ph type="x-smartling-placeholder"></ph> Best Practices zum Konfigurieren von E/A-Zeitüberschreitungen
E/A-Zeitlimit im API-Proxy konfigurieren
Das E/A-Zeitlimit kann an den folgenden Stellen des API-Proxys konfiguriert werden:
- Zielendpunkt
- ServiceCallout-Richtlinie
E/A-Zeitlimit im Zielendpunkt des API-Proxys konfigurieren
In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit im Zielendpunkt Ihres API-Proxys konfigurieren.
Das E/A-Zeitlimit kann über das Attribut io.timeout.millis
konfiguriert werden, das
stellt den E/A-Zeitüberschreitungswert in Millisekunden dar.
- Wählen Sie in der Edge-Benutzeroberfläche den spezifischen API-Proxy aus, in dem Sie das neue E/A-Zeitüberschreitungswert.
- Wählen Sie den Zielendpunkt aus, den Sie ändern möchten.
- Fügen Sie die Eigenschaft
io.timeout.millis
mit einem entsprechenden Wert unter der Eigenschaft<HTTPTargetConnection>
-Element in derTargetEndpoint
-Konfiguration. - Speichern Sie die Änderungen an Ihrem API-Proxy.
Wenn Sie beispielsweise das E/A-Zeitlimit in 120 Sekunden ändern möchten, fügen Sie den folgenden Codeblock hinzu:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
Da das Attribut io.timeout.millis
in Millisekunden angegeben ist, wird der Wert für
120 Sekunden entsprechen 120000
.
Die folgenden Beispiele zeigen, wie das E/A-Zeitlimit im Zielendpunkt konfiguriert wird Konfiguration Ihres API-Proxys:
Beispiel für die Konfiguration eines Zielendpunkts mit der URL für den Backend-Server
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
Beispiel für die Konfiguration eines Zielendpunkts mit dem Zielserver
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
E/A-Zeitlimit in der ServiceCallout-Richtlinie des API-Proxys konfigurieren
In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit in der ServiceCallout-Richtlinie Ihres
API-Proxy. Das E/A-Zeitlimit kann über das Element <Timeout>
konfiguriert werden
oder die Property io.timeout.millis
. Sowohl das <Timeout>
-Element als auch das
Die Property io.timeout.millis
stellt die Werte für das E/A-Zeitlimit in Millisekunden dar.
Sie können das E/A-Zeitlimit in der ServiceCallout-Richtlinie mit einer der folgenden Methoden konfigurieren:
<Timeout>
-Element.io.timeout.millis
-Property.
Zeitüberschreitungselement
So konfigurieren Sie das E/A-Zeitlimit in der ServiceCallout-Richtlinie mithilfe der <Timeout>
-Element handelt, gehen Sie so vor:
- Wählen Sie in der Edge-Benutzeroberfläche den spezifischen API-Proxy aus, in dem Sie die Neuer E/A-Zeitüberschreitungswert für die ServiceCallout-Richtlinie.
- Wählen Sie die ServiceCallout-Richtlinie aus, die Sie ändern möchten.
- Fügen Sie das Element
<Timeout>
mit einem entsprechenden Wert unter der<ServiceCallout>
-Konfiguration.Wenn Sie beispielsweise das E/A-Zeitlimit auf 120 Sekunden ändern möchten, fügen Sie die folgende Codezeile hinzu:
<Timeout>120000</Timeout>
Da das
<Timeout>
-Element in Millisekunden angegeben wird, wird der Wert für 120 Sekunden entsprechen120000
.Das folgende Beispiel zeigt, wie das E/A-Zeitlimit im ServiceCallout konfiguriert wird mit dem Element
<Timeout>
:Beispiel für die Konfiguration der ServiceCallout-Richtlinie mit der URL für den Backend-Server
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Timeout>120000</Timeout> <HTTPTargetConnection> <Properties/> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
- Speichern Sie die Änderungen an Ihrem API-Proxy.
Property „io.timeout.millis“
So konfigurieren Sie das E/A-Zeitlimit in der ServiceCallout-Richtlinie mithilfe der
io.timeout.millis
:
- Wählen Sie in der Edge-Benutzeroberfläche den spezifischen API-Proxy aus, in dem Sie konfigurieren möchten. den neuen E/A-Zeitüberschreitungswert für die ServiceCallout-Richtlinie.
- Wählen Sie die ServiceCallout-Richtlinie aus, die Sie ändern möchten.
- Fügen Sie die Eigenschaft
io.timeout.millis
mit einem entsprechenden Wert unter der Eigenschaft<HTTPTargetConnection>
-Element in der TargetEndpoint-Konfiguration.Wenn Sie beispielsweise das E/A-Zeitlimit auf 120 Sekunden ändern möchten, fügen Sie den folgenden Block hinzu: des Codes:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
Da das Attribut
io.timeout.millis
in Millisekunden angegeben ist, wird der Wert für 120 Sekunden entsprechen120000
.Die folgenden Beispiele zeigen, wie das E/A-Zeitlimit im Zielendpunkt konfiguriert wird Konfiguration Ihres API-Proxys:
Beispiel für die Konfiguration der ServiceCallout-Richtlinie mit der URL für den Backend-Server
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
Beispiel für die Konfiguration einer ServiceCallout-Richtlinie mit Zielserver
<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- Speichern Sie die Änderungen an Ihrem API-Proxy.
E/A-Zeitüberschreitung bei Message Processors konfigurieren
In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit in Message Processors konfigurieren.
Das E/A-Zeitlimit kann über das Attribut HTTPTransport.io.timeout.millis
konfiguriert werden.
der den E/A-Zeitüberschreitungswert in Millisekunden für die Message Processor-Komponente darstellt,
Verwendung des Tokens gemäß der Syntax unter
Konfiguration
Edge
So konfigurieren Sie das E/A-Zeitlimit für die Message Processors:
- Öffnen Sie auf dem Message Processor-Computer die folgende Datei in einem Editor. Falls nicht,
bereits vorhanden sind, dann erstellen Sie sie.
/opt/apigee/customer/application/message-processor.properties
Um die Datei beispielsweise mit
vi
, geben Sie den folgenden Befehl ein:vi /opt/apigee/customer/application/message-processor.properties
- Fügen Sie der Eigenschaftendatei eine Zeile im folgenden Format hinzu und ersetzen Sie dabei einen Wert für
TIME_IN_MILLISECONDS:
conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
Um beispielsweise das E/A-Zeitlimit des Message Processor auf 120 Sekunden zu ändern, fügen Sie die folgende Zeile hinzu:
conf_http_HTTPTransport.io.timeout.millis=120000
- Speichern Sie die Änderungen.
- Achten Sie darauf, dass die Property-Datei dem Nutzer
apigee
gehört, wie unten gezeigt:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Starten Sie den Message Processor wie unten gezeigt neu:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Wenn Sie mehr als einen Message Processor haben, wiederholen Sie die obigen Schritte für alle Prozessoren.
E/A-Zeitüberschreitung bei Message Processors prüfen
<ph type="x-smartling-placeholder">In diesem Abschnitt wird erläutert, wie Sie überprüfen können, ob das E/A-Zeitlimit erfolgreich geändert wurde Message Processors.
Auch wenn Sie das Token conf_http_HTTPTransport.io.timeout.millis
verwenden,
E/A-Zeitüberschreitung im Message Processor. Sie müssen überprüfen, ob die eigentliche Property
HTTPTransport.io.timeout.millis
wurde mit dem neuen Wert festgelegt.
- Suchen Sie auf dem Message Processor-Computer nach der Eigenschaft
HTTPTransport.io.timeout.millis
. im Verzeichnis/opt/apigee/edge-message-processor/conf
und prüfen Sie, wie unten dargestellt mit dem neuen Wert festgelegt wurde:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- Wenn das neue E/A-Zeitlimit im Message Processor festgelegt wurde, gilt der oben
wird der neue Wert in der Datei
http.properties
angezeigt. - Wenn Sie noch den alten Wert für die Eigenschaft
HTTPTransport.io.timeout.millis
sehen, und bestätigen Sie, dass Sie alle Schritte ausgeführt haben, E/A-Zeitüberschreitung bei Message Processors korrekt konfigurieren. Wenn Sie einen Schritt verpasst haben, wiederholen Sie alle Schritte erneut richtig. - Wenn Sie das E/A-Zeitlimit immer noch nicht ändern können, wenden Sie sich an Apigee Edge-Unterstützung
Das Beispielergebnis des obigen Befehls, nachdem Sie das E/A-Zeitlimit so konfiguriert haben: 120 Sekunden:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
Beachten Sie in der obigen Beispielausgabe, dass das Attribut
HTTPTransport.io.timeout.millis
wurde auf den neuen Wert 120000
festgelegt in
http.properties
Dies zeigt an, dass das E/A-Zeitlimit erfolgreich konfiguriert wurde
auf 120 Sekunden im Message Processor.
Wie geht es weiter?
Weitere Informationen <ph type="x-smartling-placeholder"></ph> E/A-Zeitlimit auf Routern konfigurieren