GIGAZINE、ついに新サーバへ移転完了
というわけで、ここが新サーバ群による新生GIGAZINE.NETです。この記事が見えているということは、新しいサーバへのDNS浸透が済んだということです。見た目上は特に何かの変化があるわけではないのですが、サーバが物理的にトラブルを起こさない限りは重くなったりはしない……はず。
というわけで、前回の記事に引き続き、裏話第2弾です。詳細は以下から。
・MySQLのDNSルックアップを無効化
新サーバ構成でテスト中に最大の問題となったのがコレ。ルータが落ちまくるので一体何が起きているのかがわからず、延々と1週間も悩み続け、GIGAZINE編集部を恐怖のどん底にたたき込んだものです。結論から言うと、外部のDNSサーバを利用していたため、ローカルでのテスト環境においてもMySQLに接続が発生するごとに、DNSの参照が発生していたのが原因。
MySQL :: MySQL 4.1 リファレンスマニュアル :: 5.5.5 MySQL の DNS の使用
新たなクライアントが mysqld に接続すると、mysqld によって要求を処理する新規のスレッドが作成されます。このスレッドでは、まずホスト名がホスト名キャッシュにあるかどうかがチェックされます。ない場合は、ホスト名の解決が試行されます。
そのため、最初の起動時にやたら負荷がかかってルータが「うぎゃー」と悲鳴を上げて倒れていたのです……。このことがわからず、ルータを自作する羽目に。
これを解決するには、起動optionに「--skip-name-resolve」を入れるか、設定ファイルであるmy.cnfに
[mysqld]
skip-name-resolve
の設定を書き込み、MySQLを念のため再起動させて設定を反映させればOKです。
・MySQLの永続的接続を有効にする
またしてもMySQL関係。複数サーバ構成において思ったほどパフォーマンスが出ないので、いろいろとスイッチングハブを買い換えてテストし、さらにはNICまで差し替えて、ほぼ全パターンを洗ってみたわけですが、結果的にはMySQLにおいて、以下の設定を有効にすれば、サーバ間通信の問題が一瞬で解決。
MySQL :: MySQL Newsletter Using persistent connections with MySQL
MySQL :: MySQL 4.1 リファレンスマニュアル :: 5.2.13 その他の最適化のヒント
接続オーバヘッドを回避するには、データベースに対して永続的な接続を使用する。
設定を変更するだけだった……
・使わない余計なクエリーを減らす
そんなこんなで、多数のトラブルに見舞われた結果、3月末の第一次締め切りに間に合わないことが判明。その直後、4月1日にはエイプリルフール記事が大ヒット、さらに4月3日にはカレーのトッピング全部のせの記事が超ヒット、GIGAZINEはかつてない危機を迎えました。その際の負荷が以下のような感じ。史上初、Load Average、いわゆる負荷が500の大台を突破。
もうなにも、みえない。
ところが、以下のページを参考に見直したところ、統計機能を無効にしていなかったことが判明。
Reduce Queries | Wiki | ExpressionEngine
Disable stats collection. This you have to remove from the scripts. Open core/core.system.php and comment out $STAT->update_stats();
上記ページを参考に設定を変えたのが4月8日。途端に負荷が500から1に低下……。「あれ?新サーバにする意味ないんじゃ?」などという声も聞こえましたが、今後のことを考えると、いつどのようなアクセスの津波が襲ってくるかわからないため(例:Yahoo砲、mixi砲、などなど)、ある程度の拡張性を持ったサーバ構成にした方がやはり安心できると考え、今回のサーバリプレースになったわけです。
次にサーバ構成を変更する際には何が起きるのやら……。
・関連記事
フリーのサーバ、ネットワークなどの総合監視ソフト「ZABBIX」日本語版 - GIGAZINE
複数のサーバをモニタリングするソフトウェア群「BixData」 - GIGAZINE
Googleの初代サーバを間近から詳細に撮影した写真いろいろ - GIGAZINE
海外の安い専用サーバプランをいろいろ並べて検討してみた - GIGAZINE
設定をMySQLやPostgreSQLに保存するDNSサーバ「MyDNS」 - GIGAZINE
Linuxサーバのボトルネックを見つける方法 - GIGAZINE
Googleのデータセンターで火事、6台の消防車が出動して消火活動 - GIGAZINE
MRTGよりお手軽に負荷やトラフィックをグラフ化できる「Munin」 - GIGAZINE
・関連コンテンツ