Linux系OSでTomcatのチューニングをしてみた。

 

<状況>

・CPU 余裕あり

・メモリ 余裕あり

・スワッピング 多発

 

<ボトルネック箇所の特定>

・外部に対してHTTP通信をし、戻ってくるまでの間で極端に遅い。

・一度に処理する件数が多くなるほど遅くなる。

 

1件づつのリクエストのレスポンスに2秒、リクエストが集中すると8秒~40秒くらいレスポンスがかかるようになっていた。

 

TomcatではHttpで授受するデータのバッファがデフォルトで2048バイトである。しかし、外部からの要求で返すデータ長は1件でも2048バイトを超える。ここでスワッピングが起こっているのが原因ではないか、と推定した。

 

Tomcatの設定ファイルである server.xml のパラメータを調べ Connector の bufferSize を大きく取った。

 

その結果。

レスポンスは、すべて1秒前後で戻るようになった。

 

ただ、これだけがすべてではない。他の観点からも「処理の高速化」を検討したい。