まず初めにWLS61での内部スレッド動作を見ていきます(図2)。
この図はあくまでWLS61の内部動作をイメージするために作成されたものです。すべてのアプリケーション・サーバでこのとおりになっているとは限りませんが、スレッドがWLS61内部でどのような動きをしているかを知るうえでとても役に立ちます。この図の見方としては、下から上に処理が流れていきます。
WLS61内部でのリクエスト処理の動作を、順を追って見てみましょう。
WLS61内では上記のようなフローでリクエストが処理されます。これを見ると、リーダースレッド/実行スレッドの数、およびその処理スピードが、WLS61の内部処理全体の性能に影響を与えることが分かります。
では、実際の設定手順を解説します。設定はGUIの管理コンソール画面の[チューニング]から行います(図3)。
WLS61での実行スレッド数のデフォルト値は以下のとおりです。
項目 | デフォルト値 | |
---|---|---|
スレッド数 | 15 | |
ところで、スレッド数は、以下の算式で求められます。
リーダースレッド数+実行スレッド数=スレッド数
図中で見ると、Socket Reader Thread(リーダースレッド)の丸の数と、Execute Thread(実行スレッド)の丸の数をすべて加えたものが、このスレッド数に相当します。丸の数を全部数えると18個の丸があり、図の設定ではスレッド数=18に設定されていることになります。
スレッドの数を多くすれば性能は向上するかというと、そうでもありません。スレッドはCPU性能と深く結び付いているため、スレッド数が性能に与える影響は、一般的に次のようにいわれています。
スレッド数が多すぎる場合 | スレッド管理のためのオーバーヘッドが増し、逆に性能が劣化する。CPU使用率がピークに達したような状態では、スレッド数を減らすことで性能が改善する場合もある |
---|---|
スレッド数が少なすぎる場合 | CPU使用率の低下と処理待ちを引き起こす可能性がある。このような場合、スレッド数を増やすことで性能が改善することがある |
WLS61のデフォルト値は前述のように15が採用されています。最適なスレッド数はシステム構成(特にCPU数、CPU性能)によりそれぞれ異なります。負荷テストなどでスレッド数の最適値を探っておく必要はありますが、まずは手始めとして15あたりから始めてみるといいでしょう。
WLS61では、複数実行キューの指定が可能になっていますが、その使用方法と条件についてはWLS61ドキュメントを参照してください。
Copyright © ITmedia, Inc. All Rights Reserved.