ヨドバシのサイトが見れないのは不適切なKeep-alive設定のせいじゃないかな。

例のヨドバシの騒ぎの件。あまり興味なかったのでわざわざ見に行って傷口に塩を塗りこむようなことはしてなかったんだけど、ネットワーク側から見たヨドバシカメラ問題というのを見ると、どうやらDBやらの過負荷じゃなくて、静的HTMLを出してるところの問題ぽいという切り分けをみて、そんなことあるんかいなとおもってヨドバシのサイトを見てみた。以下HTTPヘッダ

http://www.yodobashi.com/

GET / HTTP/1.1
Host: www.yodobashi.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: *************************************************************************************************************

HTTP/1.x 200 OK
Date: Thu, 30 Oct 2008 08:13:13 GMT
Server: Apache
Pragma: no-cache
Cache-Control: private
Expires: -1
Set-Cookie: ******************************************** Path=/cs
Set-Cookie: ************************************************* Path=/
Set-Cookie: ************************************************* Path=/
Set-Cookie: ************************************************* Path=/
Set-Cookie: ************************************************* Path=/
Set-Cookie: ************************************************* Path=/
Set-Cookie: ************************************************* Path=/
Set-Cookie: ************************************************* Path=/
Set-Cookie: ************************************************* Path=/
Set-Cookie: ************************************************* Path=/
Content-Length: 81066
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=Windows-31J

重要なところはレスポンスヘッダの

Keep-Alive: timeout=15, max=100
Connection: Keep-Alive

画像やCSSやJSはすべてAkamaiかなんかのCDNから出していて、www.yodobashi.comへのアクセスはHTML一枚だけなので、おそらくKeep-Aliveする意味がまったくない。一方これだとクライアントが15秒くらいはコネクションを掴んでしまうのでC10Kな状況になるとプロセス足らなくなりそう。
事実、最初にHTMLを受信するのに30秒くらいかかってるけど、一度受信してしまうと(15秒以内に他のページに行けば)200msecとかで見れる(まあそれでも早くはないけど)のと、明け方なんかは早い?とかいうほかの症状とも符合するので、これが一因になってるのは確定的。これだけとは限らないけど。