「KeepAlive」の版間の差分
(相違点なし)
|
2014年11月16日 (日) 19:33時点における最新版
KeepAlive (キープアライブ)とは、ネットワークの接続を確認するために定期的に行われる通信です。
読み方
- KeepAlive
- きーぷ あらいぶ
- キープアライブ
- きーぷ あらいぶ
概要
KeepAliveのシグナルは、あらかじめ設定された間隔で、たびたび送信されます。シグナルを送信した後に、何も受信されない(応答がない)場合は、リンクがダウンしていると仮定します。KeepAliveシグナルは、接続を維持するためにインターネットのインフラでよく使われます。
HTTP KeepAlive
Hypertext Transfer Protocol(HTTP)のHTTP/1.1からは、ウェブサーバとクライアントのHTTPの接続を維持して、使いまわすことを KeepAlive と読んでいます。HTTPのヘッダで Connection: Keep-alive を使用しています。 ウェブサーバから必要なリソースを取得する度に接続を行うと、3ウェイ・ハンドシェイクやスロースタートの問題でパフォーマンスがよくありません。
Apache(httpd)でKeepAliveを使うことができますが、Apacheのようなプロセス数の数だけしかコネクションを維持できないアプリケーションの場合、アクセスするクライアントがたくさんいる場合、すぐにコネクションを使いきってしまい、サービスにアクセスできないユーザが発生してしまうので、注意が必要です。
より多くのクライアントの接続をさばけるAapache Traffic Server(ATS)のようなプロキシを使うと解決できます。
TCP keepalive
TCP keepalive は、オプショナルな機能です。デフォルトではオフです。keepalive パケットは、 null データを含んでいます。イーサネットネットワークでは、keepalive フレーム長は、60バイトです。サーバレスポンスの null データフレームは 54 バイトです。