レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。無効となっていませんか?このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。ついて記事を書きました。今回は、そのNginx版です。HTMLのテキスト情報に指定されたサーバーへ要求を出すことになります。その要求先は、ほとんどの場合、同じサーバーになることが多いと思います。(一般的に画像ファイルやCSSファイル,Javaスクリプトファイルを別々のサーバーに置いていることは、少ないと思います。)となると、同じクライアントから再度要求が来ることが多いということですね。その度に、クライアントとサーバーでネットワークの接続を繰り返していると無駄ですね。・・ということで、クライアントから最初にページ要求があったら、しばらく同じクライアントからの要求をサーバー側で待ちましょう・・・というのがKeepAlive機能です。KeepAlive関連ディレクティブは、以下のとおりです。下記のディレクティブを設定することでKeepAlive機能を制御します。持続的な接続で次のリクエストが来るまでサーバが待つ時間(秒)を設定します。時は、KeepAlive無効となります。時に有効で、持続的な接続上で許可されるリクエストの数を設定します。Offへ設定するようになっています。デフォルトの設定は、以下のようになっています。75;上記の設定を簡単に解説するとクライアントから要求がきたら、同じクライアントからの再要求を75秒待ちます。同じクライアントからの要求が100件を超えたら、待つのを止めます。(KeepAlive中の同じ接続で、100件までの要求を処理するということになります。)一般的な設定で、1ページの必要なリンク先(画像やCSSなど)が、概ね100個を超えないということと、遅くとも75秒以内には、再要求がくるだろう・・・という前提条件のもとの設定です。KeepAlive機能を使うときの注意点もちろん、良いことばかりではありません。ページビューが激しいサイトや使えるリソースが少ないレンタルサーバーには、気をつけなければなりません。上記の設定でいうと、最長で75秒間は、待ってしまうわけです。(このデフォルト値は、ちょっと長いかなと思います。)これは、その待ち時間の間は他の処理をしないプロセス(スレッド)がある・・・ということでもあります。潤沢なリソースがあれば別ですが、一般的には、来るかどうかわからない要求を待つことが、本当にメリットがあるか検討する必要があります。結局、この待ちの間は、使えるプロセス(あるいはスレッド)が1つ減ることに違いがないわけですから、待っている間に、他の要求が来れば、プロセス(あるいはスレッド)が不足することもあり得ます。待っている時間が短くて再要求が来る場合には、それなりに有効です。逆に、待っている時間が長く再要求が来ない場合には、それなりにリソースが無駄に使用されるということです。そこで、個人的には、KeepAliveをOffにしてしまうか、以下のようなギリギリの設定しています。5秒から10秒で十分だと思います。サイト1ページを表示するために必要なファイル数に相当しますから、各サイトに依存します。個の要求で事足りることになります。ある程度余裕をもって、ここでは100を設定しています。参考までに、このサイトでも、100ぐらいの要求数になります。見た目的には、それほど使っていないように見えますが、結構、小さな画像が多く、要求数も普通のサイト並になっています。KeepAliveを使った時のヘッダ情報(おまけ)KeepAliveを使った時は、HTTPのヘッダ情報に変化があります。それぞれのnginxから送られてきたHTTPのヘッダ情報、リクエスト毎の経過時間です。http://www.example.com.com/external.png上記は、無負荷状態でテスト環境でもあったので、それほどの差異がなかったようです。0.497で多少の差があります。ファイルだけでしたので、差も微妙な差となっています。一般的なページであれば1ページあたり画像ファイル5、CSSファイル1、Javaスクリプトファイル2程度はありますから、もっと差は出てくるかなぁと思います。ここから、自分のページがどれくらいか、ある程度、想像できるかもしれませんね。情報採取しました)で提供されていますので、それを使って正確な要求数を確認されると良いでしょう。諸刃の刃で、しかも、それほど劇的な表示速度の改善が望めるというものでもありません。Offにしておいても、再接続でページの表示はできます。負荷が高い時は、再接続できない可能性もあり、それなりの表示速度が期待できるという面も無きにしも非ずです。(必ず期待できるということではありませんが、期待はできます)特に、nginxのデフォルト値(75秒)は、ちょっと長すぎるので、動画サイトなどの特別なサイトを除き、再設定することをおすすめします。適用となっていませんか?このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。さんコメントありがとうございます、管理人です。おっしゃるとおり間違っていましたので、経過時間も含めて、再確認し記事の更新をしました。ありがとうございました。無効となっていませんか?このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。メールアドレスが公開されることはありません。印の項目は、入力が必要な項目です。(SoftwareDesign別冊)に寄稿しました。「ログを読む技術」の再掲載になります。8月号を見逃された方は、是非、ご一読くださいませ。8月号に寄稿しました。「ログを読む技術」について寄稿しました。興味のある方は、是非、ご一読くださいませ。公式サイト(http://www.genymotion.com/)には、以下のように記述があります。仮想マシンへインストールし、色々と試してきました。