- - PR -
tomcatのconnectorについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-01-16 12:08
こんにちは、武澤です。
Tomcat5.0.28のserver.xmlにあるconnectorタグにて疑問があります。 connectorタグに用意されている acceptCount, maxThreads, minSpareThreads, maxSpareThreads ですが、ここのacceptCountってどのような振る舞い?をするものなのでしょうか? tomcatのドキュメントではリクエストのキューと記載されていますが、細かな動作が よくわかりませんでした。 自分なりに考えるとacceptCountが消費されるのは 「リクエストを受け付けて、処理実行用のスレッドを取得し、スレッドに処理を渡すまで」 と思っているのですが、これは正しいのでしょうか? 特に疑問なのはacceptCountが開放されるタイミングで、スレッドに処理を渡した時点 で開放されるのか?それともスレッドの処理が終わってクライアントにレスポンスを返 した時点で開放されるのか?です。 どなたか、ご教示いただけないでしょうか? tomcatのソースから解析しようとも思ったのですが、膨大なのとどこから見ていけば良いのか?もさっぱりだったので、挫折してしまいました。 | ||||||||
|
投稿日時: 2007-01-16 12:38
武澤です。
すいません、なんだか回りくどい文章でした。 単刀直入に言いますと、 acceptcountが消費される期間がどこからどこまでなのか?を教えていただけないでしょうか? ※この辺りのTomcatの実装クラス名、情報掲載URL等のポインタでも大いに助かります。 あっ、でも、そもそもacceptcountの意味自体を間違えていたら、ご指摘していただけると幸いです。 | ||||||||
|
投稿日時: 2007-01-16 12:58
単なるlisten(2)のbacklogみたいです。 そこからorg.apache.tomcat.util.net.PoolTcpEndpointに プロパティが流れて行ってinitEndpoint()で使われるのでしょう。
| ||||||||
|
投稿日時: 2007-01-16 13:38
あしゅ様
ソースの場所まで教えていただき、ありがとうございました。 ずーーっと、jakarta-tomcat-connectors/coyote/src/javaの中を覗いていました。 特に拡張した実装をせずにそのままServerSocketを使っているんですね。 そうなると、acceptcountの消費期間は リクエストを受け取ってから、スレッドへ処理を渡すまで(listen状態になるまで) でよさそうですね。 正直、ソースのポインタだけでもって書く時にかなり勇気を必要でした。 自分が理解できる内容でホッとしました。 |
1