Bloggerに移行してみる!の巻!
段階的に負荷をあげて、OpenPNE3.6beta13とOpenPNE2.14.9の負荷性能を比較してみた!の巻!
昨日に引き続き負荷性能の比較ですよと。
段階的に負荷を増やしての限界テストをやってみましたよと。
平均レスポンスタイムが5秒以内なところでいうと、
- OpenPNE3.6beta13(Doctrine版・コアだけ・マイホームにアクセス)
- PVは、約700PV/分(約11PV/秒)
- httpdの平均メモリ使用量は、約35MB
- 平均レスポンスタイムは、約5秒
- OpenPNE2.14.9(マイホームにアクセス)
- PVは、約1500PV/分(約25PV/秒)
- httpdの平均メモリ使用量は、約13MB
- 平均レスポンスタイムは、約2.5秒
な感じですかねー
段階的な負荷の上げ方は、15秒に1接続ずつ増やしていく感じでやりました。
なんかOpenPNE2.14.9が尻すぼみなのが気になる(ネットワークの調子がおかしくなった可能性あり)なので、再試験してみるかなぁ〜www
負荷をかけるのに使ったのは、今回あらたに作った↓であります。
https://github.com/rysk92/webapp_monitor/blob/master/reqsan_manager.py
OpenPNE3.6beta13とOpenPNE2.14.9の負荷性能の比較してみた!の巻!
先日の芭蕉1,2,3サーバ達で、OpenPNE3.6系とOpenPNE2.14系でどのくらいの負荷性能の差があるのか気になったのでやってみた。
- OpenPNE3.6beta13(Doctrine版・コアだけ・マイホームにアクセス)
- PVは、約290PV/分(約4.8PV/秒)
- httpdの平均メモリ使用量は、約34MB
- 平均レスポンスタイムは、約2秒
- OpenPNE2.14.9(マイホームにアクセス)
- PVは、約500PV/分(約8.3PV/秒)
- httpdの平均メモリ使用量は、約13MB
- 平均レスポンスタイムは、約1秒
OpenPNE2.14.9の方はApacheのMaxClientとかいじれば、もう少し成績上がりそうな気がするな。
ちなみにメンバー検索でやると↓。2.14.9は条件なしの検索でも複雑なクエリ打ってるから、まぁこうなるよね。
- OpenPNE3.6beta13(Doctrine版・コアだけ・38万人のデータでメンバー検索にアクセス)
- PVは、約150PV/分。。。
- httpdの平均メモリ使用量は、約37MB
- 平均レスポンスタイムは、3〜4秒
- OpenPNE2.14.9(38万人のデータでメンバー検索にアクセス)
- PVは、約5PV/分
- httpdの平均メモリ使用量は、約55MB
- 平均レスポンスタイムは、約50秒
- time time ab -n 10000 -c 10 -C PHPSESSID=[セッションの値] "http://op214.example.com/?m=pc&a=page_h_search_result&nickname=&birth_year=&birth_month=&birth_day=&profile[sex]=0&profile[blood_type]=0&profile[pre_addr_pref]=0&profile[old_addr_pref]=0&profile[self_intro]=" みたいな感じ。
で、興味本位で「ただのHello World!だとどのくらいなんだろう?」と思ったので、やってみた。
- OpenPNE2.14.9(38万人のデータでメンバー検索にアクセス)
- PVは、約9000PV/分(150PV/秒)
- httpdの平均メモリ使用量は、約5MB
- 平均レスポンスタイムは、約0.2ミリ秒
なるほど。
ちなみ使ったスクリプトとかは↓に置いた。
https://github.com/rysk92/doc/tree/master/20110824_webapp_monitor_openpne
はい!OpenPNE3.2.7.5(Doctrine版・コアだけ)の負荷検証環境構築方法!の巻!
1) まず芭蕉1、芭蕉3にOpenPNE3をセットアップ
git clone git://github.com/openpne/OpenPNE3.git op32doctrine.example.com cd op32doctrine.example.com git checkout OpenPNE-3.2.7.5 cp config/ProjectConfiguration.class.php{.sample,} cp config/OpenPNE.yml{.sample,} php symfony openpne:permission cd plugins/ git clone git://github.com/ebihara/opAuthMailAddressPlugin.git cd ../ php symfony plugin:publish-assets mysql -h [芭蕉3のIP] -u db_user -p CREATE DATABASE op32doctrine_example_com DEFAULT CHARACTER SET utf8; cat > config/databases.yml <
2) 芭蕉2から負荷をかける
time ab -n 10000 -c 10 -C OpenPNE_pc_frontend=[cookieの値] http://op32doctrine.example.com/member/search
(大体103分ぐらいだった)
はい!OpenPNE3.4.15(Doctrine版・コアだけ)の負荷検証環境構築方法!の巻!
1) まず芭蕉1、芭蕉3にOpenPNE3をセットアップ
git clone git://github.com/openpne/OpenPNE3.git op34doctrine.example.com cd op34doctrine.example.com git checkout OpenPNE-3.4.15 cp config/ProjectConfiguration.class.php{.sample,} cp config/OpenPNE.yml{.sample,} php symfony openpne:permission cd plugins/ git clone git://github.com/ebihara/opAuthMailAddressPlugin.git cd ../ php symfony plugin:publish-assets mysql -h [芭蕉3のIP] -u db_user -p CREATE DATABASE op34doctrine_example_com DEFAULT CHARACTER SET utf8; cat > config/databases.yml <
2) 芭蕉2から負荷をかける
time ab -n 10000 -c 10 -C OpenPNE_pc_frontend=[cookieの値] http://op34doctrine.example.com/member/search
(大体103分ぐらいだった)
はい!OpenPNE3.6beta13(Doctrine版・コアだけ)の負荷検証環境構築方法!の巻!
1) まず芭蕉1、芭蕉3にOpenPNE3をセットアップ
git clone git://github.com/openpne/OpenPNE3.git op36doctrine.example.com cd op36doctrine.example.com git checkout OpenPNE-3.6beta13 cp config/ProjectConfiguration.class.php{.sample,} cp config/OpenPNE.yml{.sample,} php symfony openpne:permission cd plugins/ git clone git://github.com/ebihara/opAuthMailAddressPlugin.git cd ../ php symfony plugin:publish-assets mysql -h [芭蕉3のIP] -u db_user -p CREATE DATABASE op36doctrine_example_com DEFAULT CHARACTER SET utf8; cat > config/databases.yml <
2) 芭蕉2から負荷をかける
time ab -n 10000 -c 10 -C OpenPNE_pc_frontend=[cookieの値] http://op36doctrine.example.com/member/search
(大体70分ぐらいだった)
はい!OpenPNE3.6beta11(Propel改造版・コアだけ)の負荷検証環境構築方法!の巻!
1) まず芭蕉1(Web)、芭蕉3(DB)にOpenPNE3をセットアップ
git clone -b propel git://github.com/upsilon/OpenPNE3.git op36propel.example.com git submodule init git submodule update cd plugins/sfPropel15Plugin/lib git clone -b 1.6 git://github.com/Xosofox/propelVendor.git vendor cd ../../../ cp config/ProjectConfiguration.class.php{.sample,} cp config/OpenPNE.yml{.sample,} php symfony openpne:permission cd plugins/ git clone git://github.com/ebihara/opAuthMailAddressPlugin.git cd ../ php symfony plugin:publish-assets cat > config/databases.yml <insert.php < beginTransaction(); for ($i = 2; $i <= 380000; $i++) { echo 'member: '.$i."\n"; $member = new Member(); $member->setName('dummy'.$i); $member->setIsActive(true); $member->save(); } $con->commit(); EOF time php insert.php (大体5分ぐらいだった)
2) 芭蕉2から負荷をかける
time ab -n 10000 -c 10 -C OpenPNE_pc_frontend=[cookieの値] http://op36propel.example.com/member/search
(大体50分ぐらいだった)