このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

WebSTAR3 「クライアント単位の接続数」とは何ですか?

発言者:へべれけ
( Date Sunday, July 07, 2002 16:03:42 )


WebSTAR3日本語版で、「クライアント単位の接続数」という
設定項目がありますが、これはどういう動作を設定するもの
なのでしょうか?

この設定を「1」とした場合、仮に画像が2枚あるウェブページが
あるとして、そこにアクセスした場合に、

ページの表示 → 画像1の表示→ 画像2の表示

というように、順番に処理にされる(接続数が1に制限されているので)
ということかと思ったのですが、実際にはそういうものではないよう
ですね。

これはどういう動作に対する設定なのかご存じの方、教えていただけ
ますか?



田中求之 さんからのコメント
( Sunday, July 07, 2002 18:41:38 )

これは Keep Alive 接続(Persistent Connection)で接続するを許可する
際に、一つのクライアントから同時にいくつの接続を認めるかというもの
です(日本語版を持っていないので、すみませんが、英語版の表記で説明します。)

HTTP の 1.0 の規格の時点では、クライアントは、データごとにコネクションを
し直すようになっていたのですが、HTTP 1.1 の規格から、コネクションを
切らずに、連続して、複数のデータを取得することが可能になりました。

一つのコネクションで複数のデータを取得するのを Keep alive 接続とか
Persistent Connection といいます(日本語の表記がどうなっているのかは
わかりません)。

で、このコネクションを保ったまま複数のデータを転送するのを認める場合に、
一つのクライアントからいくつまでコネクションを認めるのかを設定するのが
「クライアント単位の接続数」です。

通常は4ぐらいにしておくのがよいでしょう。ただし、その場合は最大接続数
も増やしておかないと、他のユーザーからアクセスできない可能性が高まります。

たとえば、同時に30コネクションのアクセスを認めようと考えているサイト
の場合、Keep Alive を認めて、1クライアントあたり4コネクションまで許可
するのであれば、最大接続数は 120 ぐらいに設定しておくのが安全です。
そうしないと、すぐにサーバが Busy の状態になってしまいます。

えっと、マニュアル(付属の PDF )にも説明がありますので、確認して
みてください。

へべれけ さんからのコメント
( Monday, July 08, 2002 00:25:54 )

>田中求之様

有り難うございます。
Keep aliveについては日本語マニュアルも同じ表現をしてました。

で、試してみて分からなかったのですが、「クライアント単位の接続数」を
1に設定した場合も、一つのコネクションで複数のデータを取得するよう
なのです。
これは、2つの画像を貼ったページにアクセスした際に、ステータスの
「現在」という数値が3にまで上がってしまうことからそう思ったの
ですが、「クライアント単位の接続数」を1にした場合は、ステータスの
「現在」が2以上にはならないというわけではないのでしょうか?
(試したのはローカル環境なので自分以外のアクセスはないという
環境です)
「クライアント単位の接続数」とステータスでの「接続」の関係を、私が
誤認識しているだけという気もしているのですが・・。



田中求之 さんからのコメント
( Tuesday, July 09, 2002 00:22:37 )

Keep Alive をするのかどうかに関係なく、最近のブラウザは、同時に4つ(ぐらい)
のコネクションを使ってデータを取得しようとします。ですから、実際に Keep Alive
が使われるかどうかは、画像が多い(最低でも4つ以上かな)ページでないとわかり
ません。

「クライアント単位の接続数」というのは、あくまでも Keep Alive 接続で処理を行
なうコネクションを、1つのクライアントから何本まで認めるかということで、
1つのクライアントからのコネクションの数を制限するものではありません。

「クライアント単位の接続数」の設定に関係なく、クライアントが複数のコネクショ
ンを同時に要求してきた場合には、サーバは必ずそれに応えます。

簡単に言えば、「繋ぎっぱなしでデータをダウンロードする」コネクションの数を
制限するのが「クライアント単位の接続数」です。データごとに切断して、また
繋ぎ直してくる(繋ぎっぱなしにしない)コネクションであれば、サーバは何本で
も認めます。

へべれけ さんからのコメント
( Tuesday, July 09, 2002 08:34:59 )

>田中求之様

有り難うございます。よく分かりました。

>1つのクライアントからのコネクションの数を制限するものではありません。

やはり私がこの部分について誤った認識をしていたわけですね。
勉強になりました。有り難うございました。