ここのところ事務所のサーバ群が慢性的に重くなっていたので、いろいろ策を施した。まず、コールドスタンバイ状態だった代替機に火を入れ、中身も外向けのメインサーバのシステムを丸コピーして常時稼働に。
ここで、せっかくFreeBSD 6系に上げたので、rpc.lockd(8)を動かしてNFS上でのファイルロックを有効化。これで、プログラムやデータディレクトリをNFS共有したまま、サービスやジョブを複数台で実行できるようになった。
次に、cronジョブを大幅に減らす。ロードアベレージを上げているのは頻繁なジョブ起動に原因があった。RSS取得、Hotmailからメールを取ってくるGotmail、頻繁なバックアップ、インデクシング、ファイルスキャン、さまざまなホストとの間のRsyncやUnison、CVS/CVSup/Subversion/SVKなどでのソース同期などなど。頻度を実際の利用状況に合わせて落とし、疎遠になったプロジェクトの追っかけをやめ、惰性で続けていたレポジトリミラーリングをやめる。
続いて、高負荷なサービスを落とす。まず、重いものの筆頭はCVSupだが、最近はあまり外からも利用されていなかったので停止した。同時にAnonymous CVSサービスもほとんど利用がないので終了。できればViewVCも重いのでやめたいが、レポジトリへのアクセス手段が何もないのはまずいので残す。あとでmod_pythonで動かすようにしないと。
そして、いちばん重かったのがこの日記のシステムであるtDiary。前にmod_fastcgiでやったときは安定せず失敗したが、今回はApache 2.2でmod_fcgidとfcgiwrapでFastCGI化したところ、問題なく動いた。mod_deflateと組み合わせても大丈夫。そしてバックエンドに代替機を加え、mod_proxy_balancerで冗長化・ロードバランシング。
さらに、SpamAssassinもCPUパワーの余っている代替機にやらせる。spamdの-iオプションでバインドアドレスを指定し、-AでLAN内からの接続を許可する。spamcの-dオプションは複数ホストを書けばフェイルオーバーできる。
ほかにもちょこちょことTCP/IP関係のパラメータをチューンナップしたら、だいぶ軽くなった。めでたしめでたし。まあ、前が重すぎたんだけどね。
Explore the ranked best online casinos of 2025. Compare bonuses, game selections, and trustworthiness of top platforms for secure and rewarding gameplayBonus offer.