PHP 5.4のビルトインWebサーバの性能

(更新日: 2011/11/21)

PHP 5.4からCLIのphpコマンドにビルトインWebサーバ機能が追加されています。

ツイッターでWebrick(RubyのビルトインというかRuby製のWebサーバ)+素のRailsページはjRubyで44reqs/sec、cRubyで98reqs/secでした、とのツイートを見かけて、PHPのビルトインWebサーバはどの程度かな?と思って手元のマシンで実行してみました。

abコマンドを使ってローカルホストのnull.phpという空のPHPファイルにアクセスしました。

結果はこちらです。

追記1: 同時接続数130くらいまではスケールするようです。 -c 130 (当時130接続)、-n 100000(10万)で試すと5500reqs/secでした。ただしマルチプロセス・マルチスレッドではないので複数コアがあっても1コアしか使いません。nginxなどと組み合わせると複数コアCPUでは数倍の性能が見込めると思われます。

追記2: 念の為に書いておきます。プロダクションサーバ用に使わないでください。Watch Dog(プロセスを監視して死んだら再起動させるプログラム)がないとPHPのクラッシュバグでDoS攻撃が可能になります。

環境も違うし、Railsの方はRubyコードを実行しているので比較になりませんが、テストコードを動かすには十分過ぎる速度です。実行したのはCore2Quad Q6600という比較的古いCPUのマシンです。

以下はabコマンドを実行したときのログです。

Comments

comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です