[PHP-users 14810]Re: PHP4はの運用はApache1かApache2か

Moriyoshi Koizumi moriyoshi @ at.wakwak.com
2003年 4月 23日 (水) 13:31:31 JST


Kenji ono <ono @ fjct.fujitsu.com> wrote:

> 小泉さん、今日は。小野と言います。
> 
> 元記事からずれそうだったので、スレッドを分けました。
> 
> >> バージョンアップするならApache2系、PostgreSQL7.3系にすれば
> >> 良かったような・・・。
> 
> >繰り返しになりますが、テスト用途ならいいですがphp を Apache2 
> >で運用するのは稼動実績からみてまだ安全性が確かなものとはいえ
> >ません。
> >また、さまざまな理由(主にApache側のアーキテクチャの違いによる
> >もの)により、実際にストレステストを行ってみれば分かりますが
> >パフォーマンスもそれほど良くないので、現在のところ、Apache-1.3
> >系で運用するのがベストです。
> 
> おーっ、そうなのですか。
> PHP内でクラスや継承をする場合PHP4が高速であり、Apache2と組み
> 合わせるのがベターである、となにかの本に読んだので、うのみに
> してました。
> Apache2もマイナーバージョンがかなりあがったので、そろそろ良い
> かなと思い、最近Apache2.0.43に上げました。
> また、社外WEBサーバとしているので、セキュリティー的にも強固
> なのかなと。

いま、うちでは一部 Apache2(以下 AP2) を試験的に運用して、安定性を
テストしているところです。これまでのところ、問題は起こっていないようです
が、なんともいえないですね。コアな php 開発者の人間に言わせれば、まだま
だだそうです。

> ちなみに、ストレス結果でどれくらい違うのでしょうか。


自分で採取したものもあるのですが、データがいま手元にないので、以前本家の
メーリングリストで出た関連記事だけで勘弁してください。ただ結果は多少古い
ものです。(今もあまり変わりありませんが)

AP1 / AP2(apache2filter) / AP2(apache2handler) のベンチマーク
http://news.php.net/article.php?group=php.internals&article=279

ZTS パフォーマンスについて
http://news.php.net/article.php?group=php.internals&article=206

要点としては、AP2 では、I/O のパフォーマンスが悪いということです。これは、
原理的には必要ないのに、AP2(apr-util) のアーキテクチャ上必要とされるバケ
ットの複製が、ブラウザへの出力動作の度に行われるからと見られます。

あと、MPM が prefork で ZTS モードでビルドしていない場合と、MPM が 
worker で ZTS モードでビルドしてある場合とを比較すると、スクリプトが少な
めのページでは worker の方が優位に立つようですが、スクリプトが複雑
なページだと prefork の方が若干レスポンスがよかった(速かった)と思います。

またデータが見つかり次第紹介します。

ちなみに私は、http://www.acme.com/software/ にある、http_load というソフトで
テストしました。




PHP-users メーリングリストの案内