magnus.conf ファイル内の RqThrottle パラメータによって、Proxy Server が同時に処理できるトランザクションの最大数を指定します。デフォルト値は 128 です。この値を変更することで、サーバー処理を低速にし、実行されるトランザクションの待ち時間を最小限に抑えることができます。
同時処理する要求数を計算するために、サーバーはアクティブな要求数をカウントし、そこに新しい要求が届いたら 1 を足し、要求が終了したら 1 を引きます。新しい要求が届いたら、サーバーは、要求の最大数がすでに処理済みであるかどうかを確認します。制限数に達してしまった場合は、アクティブな要求数が最大数を下回るまで、新しい要求の処理が延期されます。
同時処理されている要求数を監視するには、perfdump によって生成されるデータの SessionCreationInfo 部分か、proxystats.xml データを確認します。この情報から、同時処理する要求の最大数 (ピーク) を、スレッドの合計数 (制限) と比較して決定することができます。perfdump 出力で表示される情報は次のとおりです。
SessionCreationInfo: ------------------------ Active Sessions 1 Keep-Alive Sessions 0 Total Sessions Created 48/128
Active Sessions は、現在要求を処理しているセッションの数 (要求処理のスレッド) を示しています。Keep-Alive Sessions は Active Sessions と似ていますが、クライア ントが keep-alive 接続を要求している場合に特定されています。Total Sessions Created は、作成されたセッション数と許可されるセッションの最大数の両方を示しています。これらは、RqThrottle 値の最小値と最大値です。
RqThrottleMin は、サーバーが起動時に開始するスレッドの最小数です。デフォルト値は 48 です。このパラメータは magnus.conf ファイルでも設定できますが、デフォルトでは表示されません。
設定されたスレッドの最大数に達してしまってもかまいません。RqThrottle 値を反射的に増やす必要もありません。この最大限度に達したということは、サーバーがピークロード時にこれだけの数のスレッドを必要としたことを意味しています。しかし、要求がタイムリーに処理されているかぎり、サーバーは適切に調整されているといえます。ただし、この時点で接続は接続キューに入れられるため、オーバーフローする可能性もあります。perfdump 出力を定期的にチェックし、作成されたセッションの合計数がしばしば RqThrottle の最大数に接近する場合は、スレッドの制限数を大きくすることを検討してください。
適切な RqThrottle の値の範囲は、負荷によって 100 〜 500 になります。