|
こんにちは、( ,_ノ` )です。
昨日のワールドカップサッカー日本対カメルーン戦は1対0で日本が勝ちました。
日本がワールドカップの初戦で白星を挙げたのは初めての事だそうです。
この調子で1次リーグを突破して欲しいものです。
がんばれニッポン!
さて、この日のためにチューニングを続けてきたSSDサーバー7号機ですが、
こちらも予定通りサーバーの限界を超えて落ちました。
落ちると言っても、ドッと人が押し寄せるとhttpdの接続数が足りなくなって
ページの表示が出来なくなると言う状態で、サーバー自体は「普通」に動いていました。
ロードアベレージ最大 515.00 という値を目撃しましたが、サーバー内部の動作は軽く
設定変更などの作業には問題がありません。
SSDサーバー7号機ではさらなる限界を知るため、試合中に以下の設定を行いました。
1、httpd待機数の増量(スペシャルセッティング2)
これまで、704 -> 1024 -> 1280 -> 1408 と増やしてきたhttpd待機数を、
最終的には 2048 まで増量しました。
【増量 6/14 23:25】
StartServers 2048
MinSpareServers 2047
MaxSpareServers 2048
ServerLimit 2048
MaxClients 2048
MaxRequestsPerChild 10000
MaxMemFree 2048
|
2、マウントオプション「noatime」の追加
FreeBSD のファイルシステムでは、ファイルを読んだ時刻が「atime」という
タイムスタンプとして保存されています。
1ファイルあたりのオーバーヘッドはたいした大きさではありませんが、
live28のように大量のファイルに頻繁にアクセスする環境では、
atime の記録にかかる時間も無視できないくらい大きくなります。
/etc/fstab でマウントオプション「noatime」を付加する事により、
ファイルを読んだ時刻を記録しないようになります。
/dev/ad10s1e on /hd (ufs, local, noatime, nosuid, soft-updates)
/dev/ad12s1e on /home (ufs, local, noatime, nosuid, soft-updates)
|
3、ネットワークバッファ使用量節約(スペシャルセッティング5)
大量のアクセスが一気にサーバーに押し寄せてネットワークバッファが足りなくなると、
httpdプロセスが「zoneli(mit)」状態となりサービスが停止する事がありました。
この設定では、ネットワークバッファ使用量を節約する事により、
バッファ不足の発生を抑えてhttpdが「zoneli(mit)」状態になりにくいようにしています。
# The higher the buffer, the more mbufs will be used for network connections.
# Lowering these buffers down will reduce your memory usage and
# save yourself some mbufs.
# This should dramatically reduce your mbuf usage and get your server
# out of zonelimits once and for all.
# http://www.realfreebsdtips.com/networking/freebsd-stopping-zoneli-state/
net.inet.tcp.sendspace=8192
net.inet.tcp.recvspace=8192
|
これらのセッティングにより、SSDサーバー7号機のCPUやメモリの能力を
ギリギリまで使う事が出来るようになりましたが、それでもなお人が押し寄せてきた時は
ウェブページの表示などの動作が苦しくなる状態となります。
SSDサーバー7号機のtopコマンド結果(メモリ空き容量約9MB、CPU使用率100%)
last pid: 33109; load averages: 161.24, 141.42, 98.32 up 0+00:37:13 08:30:26
2165 processes:38 running, 2126 sleeping, 1 zombie
CPU states: 40.3% user, 0.0% nice, 59.5% system, 0.3% interrupt, 0.0% idle
Mem: 5225M Active, 1281M Inact, 882M Wired, 261M Cache, 214M Buf, 9668K Free
Swap: 8192M Total, 8192M Free
|
(このあとメモリの空き容量が無くなりスワップが発生しました)
昨日のワールドカップサッカー日本対カメルーン戦で日本が勝利したおかげで、
SSDサーバー7号機の限界と言うのが何となく見えてきたような気がします。
現状ではCPUが100%使われている状態ですので、CPUの能力が上がれば
「はけ」が良くなり、SSDサーバー7号機と同じセッティングでも余裕で処理を
こなす事が出来るようになるかもしれません。
また、メモリサイズを増やす事によりhttpdの待機数などを増やす事が出来るので、
さらにチューニングの幅を広げる事が出来るかもしれません。
いずれにせよ、次に到着するサーバーでそれらを経験できる事と思います。
と言う事で、先日発注しました次期SSDサーバー「Core i7-960 + SSD」ですが、
このサーバーがなんとPIEデータセンターに届きました!
ワールドカップの日本第二戦前にlive29(仮)としてデビューさせるため、
現在急ピッチでセットアップ作業を行っています。
新しいサーバーの情報は次の日記にてお知らせいたします。
|