2.4.3 リクエストの流量制御

流量制御は,サーバアプリケーションで一度に実行される処理数の最大値を設定して,リクエストの同時実行数を制限する機能です。これによって,サーバアプリケーションの負荷を一定に抑え,安定した高いスループットを実現します。CPUや排他資源の競合も抑止できます。流量制御は,TSCデーモンおよびTSCデーモンが管理しているスケジュール用キューを使用して実現します。

流量制御の概要を次の図に示します。

図2-8 流量制御の概要

[図データ]

TSCデーモンでは,クライアントアプリケーションから受け付けたリクエストをスケジュール用キューに登録して,TSCルートアクセプタ単位に設定された同時実行スレッド数分ずつ実行します。クライアントアプリケーションからのリクエストが瞬間的に増加した場合でも,TSCデーモンによって流量が制御されるため,サーバアプリケーションで実行されるリクエストは同時実行スレッド数以上には増加しません。また,複数のサーバアプリケーションのTSCルートアクセプタで同じスケジュール用キューを共有している場合は,そのTSCルートアクセプタ数および各TSCルートアクセプタの同時実行スレッド数の設定で,一度に処理できるTSCユーザオブジェクトを多重化できます。リクエストは,スケジュール用キューの最大リクエスト登録数分まで受け付けられます。最大リクエスト登録数は,TSCデーモン単位で設定できます。これを超えると,エラーが返されます。