朝になっちまった・・・orz 小堤です。
さて、現在のxFrameworkPXの実行速度が気になったので、調査してみました。
測定環境は下記の通り。
- チップセット
インテル(R)3000 チップセット - CPU
クアット゛コア インテル(R) Xeon(R) フ゜ロセッサー X3210 (2x4MB L2キャッシュ 2.13GHz 1066MHzFSB) - メモリ
2GB (2x1GB) 2R DDR2/667MHz SDRAM DIMM EC - ハードディスク
SAS5iRコントローラ接続(RAID 1 HDD2台) - OS
CentOS 5.1 - WEBサーバ
Apache 2.2
ベンチマークには、Apache Benchを使用しました。
それぞれ同時100アクセス、10万回施行した結果・・・
Concurrency Level: 100
Time taken for tests: 839.64150 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 94900000 bytes
HTML transferred: 58900000 bytes
Requests per second: 119.18 [#/sec] (mean)
Time per request: 839.064 [ms] (mean)
Time per request: 8.391 [ms] (mean, across all concurrent requests)
Transfer rate: 110.45 [Kbytes/sec] received
まぁ1秒間に120アクセスさばけるようです。
ブートストラップの動作時間は0.0083秒、上出来。PCスペックがあがったのもあり、前回はかったときより早くなってる(前は0.0094秒でした)
んで、まだはやくならんかなぁとおもって、久々に(3年ぶりに)ionCube PHPEncoderをひっぱりだしてきました。
本家いったら無償でアップデートできたので。本家で買うと199$ですよ!!
さて、WRIRoot/_cache/xFramework/Classes.phpが実際にxFrameworkPXが動作するときに読み込んでいるクラスファイルなんですが、こいつをエンコードして、走らせてみると。。。
Concurrency Level: 100
Time taken for tests: 685.588317 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 94900000 bytes
HTML transferred: 58900000 bytes
Requests per second: 145.86 [#/sec] (mean)
Time per request: 685.588 [ms] (mean)
Time per request: 6.856 [ms] (mean, across all concurrent requests)
Transfer rate: 135.18 [Kbytes/sec] received
145件。
なんと、18.7%処理件数が増えています。当然のことながら、処理スピードが18.7%高速化!すばらしい。
まぁ・・・・仕事でいろんなソースコードみますが、ちょろっとした処理の表示に0.2秒以上かかってるスクリプトもあることを考えると、300倍はやいですよ。
ちなみにこれは、xFrameworkPXインストール後、初期で表示されるページの計測です。
時間は12分弱、10万アクセスを12分弱でこなすって・・・1日100万アクセスあるサイトでも、2時間弱でこなせる・・・。
を・・・1日24時間あるから・・・12倍まだいける・・・1200万アクセス。まぁずーーーっとアクセスが来続けて1日1200万アクセスくらいいけるっつーことですな。単純計算ですが。ロードバランサーいれりゃーそりゃもー・・・。瞬間10000アクセスいくようなサイトの場合は、もうサーバ構成の問題になってくるんだろうなぁ。
今度聞いてみよう・・・・(独り言・・・
ふぅ・・・・0.006秒台がでたのは奇跡。すごいまんぞく。ただ、細部みていけばPHPコードの書き方で若干はやくできるかどうか、これからやっていきます・・・・・・。
これから?(笑