xingbin:
私はnginxの後ろの5つのTomcatのインスタンスを持っています。
時には、nginxのは、upstream_response_time
処理時間は50ミリ秒だけ(私が使用しているTomcatのローカルアクセスログを示しながら、より多くの1秒よりも、非常に大きい%D
処理時間をログに記録します)。
考えられる理由とどのようにそれを修正するとは何ですか?他のアプリケーションが高速に実行するため、ネットワークが遅いようではありません。
更新:
nginxのようですupstream_response_time
= %D
+ 1 sec
。
aschoerk:
スレッドはそれを扱うことができるようになるまでのサーバーは、通常、要求をキュー。キュー内に多くの要求が、ごく少数のスレッドがある場合は、単一のスレッドは非常に高速要求を処理するかもしれませんが、あなたは時間を追加した場合、要求は、消費者は、はるかに長い時間を見て、キューに入れられました。
参照:Tomcatのスレッドプール内のスレッドの数を増やすには?
あなたがスレッドの数を増やすか、accept_countを下げますが、データベース接続のような他のリソースの数も増加することが必要になる場合がありますことを、心に留めておくことができます参照してください。また、より多くのスレッドがより多くのリソースの競合を意味するかもしれないことを、覚えておいてください。
このためのパラメータを変更しようとする価値があるかもしれません。通常、アクセス・ログには、メッセージがキューである時間示さなければならないと取り扱いを、私はわかりません。