Bloggerに移行してみる!の巻!

はい!ギュンばんわ!

「はてなダイアリー」重いなぁ。。。エントリー書く時、若干ストレスを感じる。。。
あとフォトライフの挙動も若干不満あり。。。

ということで、より安定して、より速いブログ環境を求めて、Bloggerに移行してみるよと。

電脳ではたらくOpenPNE開発者の日記@ネット

段階的に負荷をあげて、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分ぐらいだった)

3) 芭蕉1にてレポートを作成

このへん参考に

はい!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分ぐらいだった)

3) 芭蕉1にてレポートを作成

このへん参考に

はい!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分ぐらいだった)

3) 芭蕉1にてレポートを作成

このへん参考に

はい!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分ぐらいだった)

3) 芭蕉1にてレポートを作成

このへん参考に