« 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