« feed meter のランキングで順位の変動が表示されていません | メイン | Google Analytics でアクセス解析できました »
2005年11月11日
PHP: apache 1.3 ⇒ apache 2.0 に移行してもパフォーマンスは大丈夫?
先日、PHP4 で構築された とあるサービスのサーバーOSを変更しました。
一日 300万リクエストが来るので メモリの増設が必要だったのですが、同時に OS 変更 + apache バージョンアップも実施してみました。
<前のサーバー>
Pentium4 3.2G HT-on / メモリ 1GB / RAID 1 (HT: HyperThreading)
RedHat 9 (Linux 2.4系) + apache 1.3 + PHP4 (必要最小限のモジュールだけでコンパイルインストール)
<新しいサーバー>
Pentium4 3.0G HT-on / メモリ 2GB / RAID 1
CentOS 4.1 (Linux 2.6系) + apache 2.0 + PHP4 (何も考えず OS デフォルトの状態; prefork)
CPU の性能が若干落ちていますが、過去の経験からこの程度では差はでないはず。
不安だったのは、apache 2.0 のデフォルトインストールが果たしてどのくらいの負荷に耐えられるか、でした。
というのも旧サーバーでは、必要最小限のモジュールだけをコンパイルインストールしていたにも関わらず apache 同時起動プロセス数が 500 に達した時点でスワップが発生していました(同時に CPU 負荷も結構きつい状態に…)。
今回の主目的は最大同時起動プロセス 1000 までスワップ無しで耐えられるか、ということだったので、メモリを増やすと同時に apache と PHP の不要モジュールをカリカリに削ってコンパイルインストールするのが普通だと思います。
ただ、最近の OS のアップグレード方針を考えると、コンパイルインストールをしない方が運用面がはるかに楽になりますので、やっぱり(コンパイルインストールは)そろそろ避けたいわけです。。
そして(ちょっと古いのですが)次の記事などをみる限り「Linux 2.6 系で PHP4 を使うなら apache 2.0 で Pentium 4 HT-on でないとダメ」とすら読めるレポートもあったりします。
Apache 2.0 + Kernel 2.6 + Pentium 4でマルチスレッド性能をはかる - MYCOM PC WEB
(つまり、それ以外の環境なら、apache 1.3 + Pentium 4 HT-off の方がマシ、というわけです)
(実際、別のサーバーで Linux 2.6 系 + apache 2.0 + HT-off を試して かなりイタイ目に遭っていたりもします ^^;)
ということで、おそるおそる試験してみたところ・・・まさに杞憂。
メモリ倍増した分だけプロセスも倍起動するようになり、CPU も比較的余裕があるので Load Average も問題なし。
実際、本番運用してみても、まったく問題なく動作しています。素晴らしい。
ということで、PHP でアプリケーション構築する場合には Linux 2.6 系 + apache 2.0 + Pentium4 HT-on という構成をそのまま使っても大丈夫そうです。
#といっても、これから Linux 2.4 系や apache 1.3 系を選択する人は少なそうですが・・・
#旧システムの移行の際のご参考まで、ということで ^^
#ちなみにPHP5 はちょっと不安でまだ試せていません。。^^;
#なお、セキュリティパッチの問題などもありますので、いずれにせよコンパイルインストールの手段も「持っておく」ことは重要だと思います。
管理人の運営サービス:
メッセンジャー -- 会議室型メッセンジャー : フレッシュミーティング
RSS配信サイト -- あらゆるサイトのRSSを配信:My RSS.jp
ブログSEO対策 -- ブログ専用。検索エンジンのアクセス解析に:トラックワード
RSSリーダー -- リーダーだけの快速RSSリーダー:フレッシュリーダー
人気ブログランキング -- ブログの更新頻度と人気 度を測定:フィードメーター
リンク元アクセス解析 -- リンクが張られた瞬間にRSSで通知するアクセス解析:トラックフィード
ブログRSS検索 -- 旬な情報をお届けします:フレッシュフィード
RSS配信・作成 -- オンラインでRSSを作成・配信・分析できるサービス:RSSフィード.cc
RSSリンク集 -- RSSの簡単リンク集:RSSリンク集
ブックマーク -- メールでブックマークを実現:あとで読む
bookmark -- an email based bookmark service:toread.cc
RSSとは -- RSSに関する情報が満載のサイトです
投稿者 aka : 日時 2005年11月11日 11:17
トラックバック
このエントリーのトラックバックURL:
http://210.188.206.194/mt-tb-sf.cgi/260
コメント
RedHat系だと /etc/sysconfig/httpd を書き換えるだけで
簡単に apache(worker) に変更できます。
ただこれだと php のモジュールが動きません。
それで無理やり apache(worker)で
php を再コンパイルしたらうまく動きました。
ただちょっとやり方がアレゲなんですが。。。
投稿者 masato : 日時 2005年11月10日 15:58

