最近は主にぼやきです。GuideMe!昨日またテレビ放映されたお客さんがあり、サーバがパンクしてしまいました。パンク中もがきながらやったことを書いておきます。DBに保存された内容を表示する。DB更新頻度が少ないので、表示時にキャッシュするためほとんどスタティック環境に近い。2.対策(1)必要な環境は~まず前提としてサーバ1台、10Mbpsでテレビ対応は絶対無理です。帯域100M、サーバ4台以上が妥当な構成かと思います。(が、、、、数時間のために固定費5~10倍を払う人はいません。僕が苦労することになります。)(2)データ圧縮の禁止apacheの転送データ圧縮モジュール(deflate_module)を使って貧弱な回線をカバーしようとしても所詮無理なので、この圧縮は絶対止めましょう。このモジュールを有効にしてたら、リクエストの増加によってサーバが高負荷になって無応答になってしまいました。(3)カーネルのチューニングアクセスが増えてくると/var/log/messagesに以下のようなメッセージが出てきます。packets/sec出てきたら、sysctlコマンドで許容値を増やします。net.inet.icmp.icmplim=4000あとネットワーク周りではこの辺をいじりました。以前、KeepAliveがon/offだの書いたのですが、そんな設定では凌げませんでした。offの方が持ちこたえられるようです。最終的にはこんな設定でした。1MaxClientsは大きくすればリクエストを食えるのですが、サーバのロードアベレージが尋常じゃない上がり方をするのでこの程度で抑えざるを得ませんでした。サーバ上でやってる処理でも設置値は異なるので、上記パラメータを冷や汗をかきながらグチャグチャいじってください。考えても1台では無理だと思うので、こういうときはサーバを増やしましょう。1台増えればアクセス数は2倍食えるようになります。(帯域が倍になる前提で)サブドメインなどを設定し画像サーバを用意したりすると比較的簡単に負荷分散が出来るでしょう。