はい!ギュンばんわ!
OpenPNEと他のOSSプロダクトの負荷性能限界値の差を見てみようかなぁと。
検証するのは、
* OpenPNE 2.14.9
* OpenPNE 3.6beta13(coreのみ)
* OpenPNE 3.6beta13(標準バンドルプラグイン全部入)
* WordPress 3.2.1
* MediaWiki 1.17
* WordPress 3.2.1 & BuddyPress 1.2.9
* societo ( https://github.com/societo/societo Symfony2を使ったSNSエンジン)
の7つ。
今回のコンセプトは「ほぼインストールしたままのデータ量が最小の状態で測定する」です。
つまり基本的にこの状態より良い負荷性能は、同じソフトウェア・ハードウェアを使う限り期待できないわけです。
負荷検証の環境と手法は、
■環境
* サーバ(自作のコモデティなもの。Webx1/DBx1/負荷かける側x1。芭蕉1,2,3と命名。)
* OpenPNE 2.14.9( グラフなどでの識別名は、2.14.9_core_one )
メンバーはデフォルトの1人 / LOG_C_ACCESS_LOGはfalse
* OpenPNE 3.6beta13( 3.6beta13_core_one )
coreのみ / メンバーはデフォルトの1人
* OpenPNE 3.6beta13( 3.6beta13_default_one )
標準バンドルプラグイン全部入 / メンバーはデフォルトの1人
* WordPress 3.2.1( WordPress_3.2.1 )
普通にインストールしたまま
* MediaWiki 1.17( MediaWiki_1.17 )
普通にインストールしたまま
* WordPress 3.21 & BuddyPress 1.2.9( WordPress_3.2.1_and_BuddyPress_1.2.9 )
普通にインストールしたまま
* societo( societo )
普通にインストールして、secure_defaultのAnonymous access を True
詳細(でもないけど)のセットアップ方法は、
https://github.com/rysk92/doc/tree/master/20110907_webapp_monitor_openpne/enviroment/software_install
に置いた。
■手法
15秒に5接続ずつアクセスを増やしていく。
sar -rでWebサーバ(芭蕉1)を監視し、スワップしはじめたら終了する。
ツールは拙作の↓を使った。config.pyを設定して、python reqsan_manager.py とかで実行な感じ。
https://github.com/rysk92/webapp_monitor/blob/master/reqsan_manager.py
reqsan_manager.pyの設定は、
https://github.com/rysk92/doc/blob/master/20110907_webapp_monitor_openpne/enviroment/webapp_monitor_reqsan_manager_config.py
な感じ。
日本語で書くと、
* OpenPNE 2.14.9( グラフなどでの識別名は、2.14.9_core_one )
ログイン->マイホームアクセス(20回)を繰り返す
* OpenPNE 3.6beta13( 3.6beta13_core_one )
ログイン->マイホームアクセス(20回)を繰り返す
* OpenPNE 3.6beta13( 3.6beta13_default_one )
ログイン->マイホームアクセス(20回)を繰り返す
* WordPress 3.2.1( WordPress_3.2.1 )
/ にひたすらアクセス
* MediaWiki 1.17( MediaWiki_1.17 )
/index.php/メインページ にひたすらアクセス
* WordPress 3.21 & BuddyPress 1.2.9( WordPress_3.2.1_and_BuddyPress_1.2.9 )
/ にひたすらアクセス
* societo( societo )
/ にひたすらアクセス
な感じ。
■結果
生pngは↓
https://github.com/rysk92/doc/blob/master/20110907_webapp_monitor_openpne/report.png
ピアレビュー用のもろもろの生データは、
https://github.com/rysk92/doc/tree/master/20110907_webapp_monitor_openpne
ツールは、
https://github.com/rysk92/webapp_monitor
■平均レスポンスタイム約5秒の時点
- OpenPNE 2.14.9( グラフなどでの識別名は、2.14.9_core_one )
-- PV:約3000PV/分
-- httpdの平均メモリ使用量:約8MB
- OpenPNE 3.6beta13( グラフなどでの識別名は、3.6beta13_core_one )
-- PV:約1300PV/分
-- httpdの平均メモリ使用量:約20MB
- OpenPNE 3.6beta13( グラフなどでの識別名は、3.6beta13_default_one )
-- PV:約550PV/分
-- httpdの平均メモリ使用量:約30MB
- WordPress 3.2.1( グラフなどでの識別名は、WordPress_3.2.1 )
-- PV:約6500PV/分
-- httpdの平均メモリ使用量:約9.5MB
- MediaWiki 1.17( グラフなどでの識別名は、MediaWiki_1.17 )
-- PV:約2000PV/分
-- httpdの平均メモリ使用量:約10MB
- WordPress 3.21 & BuddyPress 1.2.9( グラフなどでの識別名は、WordPress_3.2.1_and_BuddyPress_1.2.9 )
-- PV:約5000PV/分
-- httpdの平均メモリ使用量:約11MB
- societo( グラフなどでの識別名は、societo )
-- PV:約6000PV/分
-- httpdの平均メモリ使用量:約11MB
な感じ。
■まとめ
平均レスポンスタイム約5秒周辺での各ソフトウェアのザックリした対比は、下記のようになる。
【2.14.9_core_one vs 3.6beta13_core_one】
PV: 約3000PV/分 : 約1300PV/分 (2.14.9が約2倍こなせる)
httpdの平均メモリ使用量: 約8MB : 約20MB (2.14.9が約1/3)
【2.14.9_core_one vs 3.6beta13_default_one】
PV: 約3000PV/分 : 約550PV/分 (2.14.9が約5倍こなせる)
httpdの平均メモリ使用量: 約8MB : 約30MB (2.14.9が約1/4)
【WordPress 3.2.1 vs 3.6beta13_default_one】
PV: 約6500PV/分 : 約550PV/分 (WordPress 3.2.1が約11倍こなせる)
httpdの平均メモリ使用量: 約9.5MB : 約30MB (WordPress 3.2.1が約1/3)
【WordPress_3.2.1_and_BuddyPress_1.2.9 vs 3.6beta13_default_one】
PV: 約5000PV/分 : 約550PV/分 (WordPress_3.2.1_and_BuddyPress_1.2.9が約9倍こなせる)
httpdの平均メモリ使用量: 約11MB : 約30MB (WordPress_3.2.1_and_BuddyPress_1.2.9が約1/3)
【MediaWiki_1.17 vs 3.6beta13_default_one】
PV: 約2000PV/分 : 約550PV/分 (MediaWiki_1.17が約3.5倍こなせる)
httpdの平均メモリ使用量: 約10MB : 約30MB (MediaWiki_1.17が約1/3)
【societo vs 3.6beta13_default_one】
PV: 約6000PV/分 : 約550PV/分 (societoが約10倍こなせる)
httpdの平均メモリ使用量: 約11MB : 約30MB (societoが約1/3)
■次回
データとか入れてやっていきたいな。
これ今度ためしてみよう。
返信削除Wordpressを5分で5倍速くするQuick Cacheの設定 - まつぼ x Web
http://matsu.tymy.net/blog/2011/04/03/quick-cache/