一.概要
ユーザが帳票にアクセスすると、サーバは一つのスレッドを割り当て、帳票を演算・処理します。
アクセス人数が多く、帳票の演算量が多ければ、サーバのCPUのスレッドを同時に奪い合う人数も多くなります。
それにより、サーバの応答速度が遅くなるため、サーバのスレッド数は、実際に合わせて設定する必要があります。
二.解決方法
1.設定方法
スレッド数を制御するために、Tomcatサーバの設定を変更することが考えられます。
%Tomcat_HOME%/conf/server.xmlのファイルを開き、Connector port="8080"....の行を見つけます。
Connector port = "8080"の後ろに、パラメータを追加してスレッド数を設定しますパラメータは次の通りです。
パラメータ | 意味 | デフォルト値 |
---|---|---|
maxThreads | Tomcatが起動できる最大スレッド数、つまり同時に処理できるタスク数 | 200 |
acceptCount | Tomcatが最大スレッド数を達した後、待機状態に入ることができる最大リクエスト数。 | 100 |
この二つの属性の値を付け加えることで、Tomcatの既定の最大同時接続数を変更できます。さらに、acceptCountをmaxThreads以上の値にしてください。次は設定後の表示の例です。
<Connector port= "8080" protocol="HTTP/1.1"connectionTimeout= "20000"
redirectPort="8443" acceptCount="500" maxThreads="400" />
2.注意事項
Webサーバの最大接続数はまた、OS(オペレーティング・システム)のカーネル・パラメータによって制限されます。
通常、Windowsが2000、Linuxが1000を最大同時接続数としています。
そのため、最適な接続数をご提案することができません。
FineReportを活用する実態に合わせて、調整やテストを繰り返してから、最も適切な設定値を見つけください。