Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご覧ください。
このドキュメントでは、Apigee Edge Message Processor の keep-alive タイムアウトを構成する方法について説明します。
Message Processor のキープアライブ タイムアウトを使用すると、1 つの TCP 接続でリクエストとレスポンスのペアごとに新しい接続を開くのではなく、バックエンド サーバーとの間で複数の HTTP リクエスト / レスポンスを送受信できます。
Message Processor の keep-alive タイムアウト プロパティのデフォルト値は 60
秒です。このタイムアウト時間は、ターゲット エンドポイント構成と API プロキシの ServiceCallout
ポリシーで構成されたバックエンド サーバーに適用されます。
Message Processor のキープアライブ タイムアウトは、必要に応じてデフォルト値の 60
秒から増減できます。次の方法で構成できます。
- API プロキシの場合:
- ターゲット エンドポイント
ServiceCallout
ポリシー内
- Message Processor の場合
Message Processor のキープアライブ タイムアウトは、次のプロパティによって制御されます。
プロパティ名 | ロケーション | 説明 |
---|---|---|
keepalive.timeout.millis |
API プロキシ:
|
これは、Message Processor がリクエスト/レスポンスのペアごとに新しい接続を開くのではなく、1 つの TCP 接続で複数の HTTP リクエスト/レスポンスを送受信できる最大のアイドル時間です。 デフォルトでは、このプロパティは Message Processor の このプロパティがターゲット エンドポイントで使用されているターゲット サーバーの新しいタイムアウト値または特定の API プロキシの |
HTTPClient.keepalive.timeout.millis |
Message Processor |
これは、Message Processor がリクエスト/レスポンスのペアごとに新しい接続を開くのではなく、1 つの TCP 接続で複数の HTTP リクエスト/レスポンスを送受信できる最大のアイドル時間です。 このプロパティは、Message Processor で実行されるすべての API プロキシで使用されます。 このプロパティのデフォルト値は このプロパティは、後述の Message Processor の keep-alive タイムアウトを構成するの説明に従って変更できます。または、API プロキシレベルで |
始める前に
このドキュメントの手順を使用する前に、次のトピックを理解しておいてください。
- キープアライブ タイムアウトの詳細については、
TargetEndpoint トランスポート プロパティ仕様の
keepalive.timeout.millis
プロパティの説明をご覧ください。 - Edge for Private Cloud のプロパティ構成が不明な場合は、 Edge の構成方法をご覧ください。
API プロキシでのキープアライブ タイムアウトの構成
キープアライブのタイムアウトは、API プロキシの次の場所で構成できます。
- ターゲット エンドポイント
ServiceCallout
ポリシー
API プロキシのターゲット エンドポイントでのキープアライブ タイムアウトの構成
このセクションでは、API プロキシのターゲット エンドポイントで keep-alive タイムアウトを構成する方法について説明します。キープアライブのタイムアウトは、プロパティ keepalive.timeout.millis
を使って構成できます。これは、キープアライブのタイムアウト値をミリ秒単位で表します。
- Edge UI で、新しいキープアライブ タイムアウト値を構成する特定の API プロキシを選択します。
- 変更するターゲット エンドポイントを選択します。
-
TargetEndpoint
構成の<HTTPTargetConnection>
要素の下に、適切な値を指定してプロパティkeepalive.timeout.millis
を追加します。たとえば、キープアライブのタイムアウトを
30
秒に変更するには、次のコードブロックを追加します。<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
keepalive.timeout.millis
プロパティはミリ秒単位であるため、30
秒の値は30000
になります。次の例は、API プロキシのターゲット エンドポイント構成でキープアライブ タイムアウトを構成する方法を示しています。
バックエンド サーバーの URL を使用したターゲット エンドポイント構成の例
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
ターゲット サーバーを使用したターゲット エンドポイント構成の例
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
- API プロキシに加えた変更を保存します。
API プロキシの Service コールアウト ポリシーで keep-alive タイムアウトを構成する
このセクションでは、API プロキシの ServiceCallout
ポリシーでキープアライブ タイムアウトを構成する方法について説明します。キープアライブのタイムアウトは、キープアライブのタイムアウト値をミリ秒単位で表した the keepalive.timeout.millis
プロパティを使用して構成できます。
keepalive.timeout.millis
ポリシーを使用して、ServiceCallout
ポリシーでキープアライブ タイムアウトを構成するには:
- Edge UI で、
ServiceCallout
ポリシーの新しい keep-alive タイムアウト値を構成する特定の API プロキシを選択します。 - 変更する
ServiceCallout
ポリシーを選択します。 TargetEndpoint
構成の<HTTPTargetConnection>
要素の下に、プロパティkeepalive.timeout.millis
を適切な値で追加します。たとえば、キープアライブのタイムアウトを
30
秒に変更するには、次のコードブロックを追加します。<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
keepalive.timeout.millis
プロパティはミリ秒単位であるため、30
秒の値は30000
になります。次の例は、API プロキシの
ServiceCallout
ポリシーでキープアライブ タイムアウトを構成する方法を示しています。バックエンド サーバーの URL を使用した Service コールアウト ポリシーの構成例
<ServiceCallout name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
ターゲット サーバーを使用した Service コールアウト ポリシーの構成例
<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- API プロキシに加えた変更を保存します。
Message Processor の keep-alive タイムアウトを構成する
このセクションでは、Message Processor のキープアライブ タイムアウトを構成する方法について説明します。キープアライブのタイムアウトは、HTTPClient.keepalive.timeout.millis
プロパティを使用して構成できます。このプロパティは、Message Processor のキープアライブ タイムアウト値のミリ秒単位を表します。このプロパティは Message Processor でコメントアウトされるため、 Edge の構成方法で
現在コメントアウトされているトークンのセクションで説明されている特別な構文 conf/http.properties+HTTPClient.keepalive.timeout.millis
を使用する必要があります。
Message Processor でキープアライブ タイムアウトを構成するには、次のようにします。
- Message Processor マシンで、エディタで次のファイルを開きます。まだ存在しない場合は、作成します。
/opt/apigee/customer/application/message-processor.properties
たとえば、
vi
を使用してファイルを開くには、次のように入力します。vi /opt/apigee/customer/application/message-processor.properties
- プロパティ ファイルに次の形式の行を追加し、TIME_IN_MILLISECONDS の値を置き換えます。
conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS
たとえば、Message Processor の keep-alive タイムアウトを
30
秒に変更するには、次の行を追加します。conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
- 変更を保存します。
- 次のように、
apigee
ユーザーがプロパティ ファイルの所有者であることを確認します。chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 次のように Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Message Processor が複数ある場合は、すべての Message Processor で上記の手順を繰り返します。
Message Processor の keep-alive タイムアウトを確認する
このセクションでは、Message Processor の keep-alive タイムアウトが正常に変更されたことを確認する方法について説明します。
特別な構文 conf/http.properties+HTTPClient.keepalive.timeout.millis
を使用して Message Processor のキープアライブ タイムアウトを設定しますが、実際のプロパティ HTTPClient.keepalive.timeout.millis
に新しい値が設定されているかどうかを確認する必要があります。
- Message Processor マシンで、
/opt/apigee/edge-message-processor/conf
ディレクトリのプロパティHTTPClient.keepalive.timeout.millis
を検索し、次のように新しい値が設定されていることを確認します。grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
-
Message Processor で新しい keep-alive タイムアウト値が正常に設定された場合、上記のコマンドにより
http.properties
ファイルに新しい値が表示されます。keep-alive タイムアウトを
30
秒に構成した後の、上記のコマンドの結果のサンプルは次のとおりです。/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000
上の出力例では、プロパティ
HTTPClient.keepalive.timeout.millis
にhttp.properties
の新しい値30000
が設定されています。これは、Message Processor の keep-alive タイムアウトが30
秒に正常に構成されていることを示します。 - まだプロパティ
HTTPClient.keepalive.timeout.millis
の古い値が表示されている場合は、Message Processor の keep-alive タイムアウトを構成するで説明されているすべての手順を実行したことを確認します。どの手順も見逃した場合は、すべての手順を正しく繰り返してください。 - キープアライブのタイムアウトを変更できない場合は、Google Cloud の Apigee Edge サポートにお問い合わせください。