LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Forum

Xoops Cube Legacy が重い!?

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 | 投稿日時 2008/4/13 22:19 | 最終変更
avtx30  Petty Officer 居住地: 3 years  投稿数: 75
Xoops本家、ImpressCMS、XoopsCube、...様々xoopsの中で機能や使いやすさをおいといてどれが一番速いか検証してみました。

結論(一応):Xoops2.0.16a-JPが一番速く、XoopsCubeLegacyが一番遅い。果たしてこの結果が妥当かどうか...

■環境
・サーバ:Linux x32, Apache 2.2.8, MySQL 5.0.58, PHP 5.2.5
・テストPC: Windows XP SP2
・テストツール:JMeter 2.3.1

テストPCとサーバは同一のネットワークで外部からのアクセスを遮断している。

■Xoopsコア:
・2.0.16a-JP
・XCL 2.1.4
・2.0.18.1: 本家最新安定バージョン
・2.2.6: 本家2.2シリーズ最新バージョン
・2.3.0-alpha2: 本家最新開発バージョン
・Xoops Mexico: 本家2.0.16ベースのfork
・Simple-Xoops 0.8.2: 本家2.2.5ベースのfork
・ImpressCMS 1.0: 本家2.0.17ベースのfork

■Xoopsモジュール
上記コアすべてに以下のモジュールをインストールしいくつかのテストデータをphpmyadmin経由で一括insert

・Protector 3.16
・Altsys 0.57
・Xigg 1.0.0b1
・XSNS 1.1.0
・D3downloads 0.60d
・mylinks 1.1.0

■テスト方法
それぞれのサイトに対して以下の4つのHTTP request (method: GET)を発行しその平均応答時間(ms)を記録する。スレッド数:50、Ramp-up期間:300、繰返し回数:2

{XOOPS_URL}/index.php
{XOOPS_URL}/modules/Xigg/index.php/node/1
{XOOPS_URL}modules/files/index.php
{XOOPS_URL}/modules/mylinks/index.php

■結果

1) Xoops20JP  279 ms
2) Xoops Mexico  279 ms
3) Xoops20  296 ms
4) Xoops 2.3.0  307 ms
5) ImpressCMS  321 ms
6) Xoops2.2.6  326 ms
7) Simple-Xoops  349 ms
8) XoopsCube  397 ms
投票数:4 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/4/14 14:58 | 最終変更
wahyu  2nd Class   投稿数: 27
avtx30さん、こんにちは

詳細なレポートをありがとうございます。
非常に参考になりました。

私はX2(JP版)とXCLしか触っていないのですが、やはり速度に関しては体感としてXCLはだいぶ重いと感じています。
(設計思想や拡張性の高さなど、その他の部分に関しては素晴らしい!という感想以外にないのですが)

特に(これは私のPCのスペックやソフトなどの環境に固有する例外的な現象かもしれませんが)ローカルでの構築作業を行う場合に、X2だと2〜3秒程度で行われるページの読み込みにXCLだと10秒くらいかかってしまう場合もあり、何とかしたいなと感じています。
(もちろん公開サーバではさすがにそこまで極端ではないのですが)

個人的には昨年のいつ頃Cubeを導入しますか?のスレッドがとても参考になったのですが、この中でのtohokuaikiさんのコメントにもあるように、もう少しコードを読み込んでXCLの全体像が掴めるようになったら、とにかく軽さに重点を置いてLegacyを改造する、といったことができればと思っています。
(現時点ではどのあたりがネックとなっているのか見当すらつかない程度のへっぽこなのですが…)
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/4/15 6:43
avtx30  Petty Officer 居住地: 3 years  投稿数: 75
wahyu さんこんにちは

コメントありがとうございました。ずっと悩んでいました。HDがいいところまで来ているし機能的に他のXOOPSと比較ににならないほど素晴らしいXCLにそろそろスイッチしないと。。。ただ処理速度だけがどうしても気になって。。。

現時点では機能とスピードのバランスを考えて 「Xoops2.0.16a-JP + GIJOE氏のAltsys + BCOOLのbc_admin01 + GIJOE氏のFCH」が最強な組み合わせではないかと思っています。同時にHDをいろいろいじってテストしようと考えています。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/4/15 17:43
puchiban  Petty Officer 居住地: 2003年5月〜  投稿数: 84
こんにちは。

XOOPS系統を比べるというのは、非常に興味深く、貴重な情報ですね。

もしボトルネックがどこか? どのあたりの変更で重くなったのか? を調べる場合には、Xdebugなどを利用してプロファイリングをするとphp的にどこの処理が重いかはわかりますね。

ちなみにテンプレートやキャッシュは、どのような設定だったのでしょうか。
#smartyのキャッシュを使っていない場合は、smaryのpreg_matchとかの正規表現あたりに時間がかかっていることが多いと思います。

ただXCLでチューニングした場合の速度はどうなるか? は別の結果になるかも知れません。

#適当ですけど、PHPアクセラレータを使うと肉薄するとか。.htaccessを見ないようにするとか。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2008/4/16 1:46
avtx30  Petty Officer 居住地: 3 years  投稿数: 75
puchiban こんばんは

コメントそしてXdebugの情報ありがとうございました。時間があるときに見てみたいと思います。

引用:
ちなみにテンプレートやキャッシュは、どのような設定だったのでしょうか。
#smartyのキャッシュを使っていない場合は、smaryのpreg_matchとかの正規表現あたりに時間がかかっていることが多いと思います。

テンプレートやキャッシュはすべてデフォルト状態(設定なし=キャッシュなし)にしていました。対象コアにまったく同じ設定で同じモジュールやテストデータにて検証するのであれば相対的にどれが速いかわかると考えていました。

キャッシュ、PHPアクセレレータ、MySQLチューニングなどの効果については別途検証するつもりです。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/4/16 2:16
toshi  Chief Officer 居住地: 2006.9〜  投稿数: 136
avtx30 さん、とても参考になる検証、ありがとうございます。

もし、時間があればでけっこうですけど、
if ( function_exists('memory_get_usage') )
{
	$usage = sprintf("%6.3f",  memory_get_usage() / 1000000 );
	echo 'memory usage : '.$usage.' MB';
}
このコードを書いたカスタムブロックを「PHP eval()」で保存し、トップページかどこか avtx30 さんの好きな場所に表示させた場合、どんな数字が出るか教えていただけませんか ?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/4/16 6:03
puchiban  Petty Officer 居住地: 2003年5月〜  投稿数: 84
こんにちは。

いつものことですが、ちょっと説明不足でした。

引用:

avtx30さんは書きました:
テンプレートやキャッシュはすべてデフォルト状態(設定なし=キャッシュなし)にしていました。対象コアにまったく同じ設定で同じモジュールやテストデータにて検証するのであれば相対的にどれが速いかわかると考えていました。

相対的にどれが速いかは、確かにその通りで、多分チューニングしても相対的なところは変わらない可能性は非常に高いと思います。機能が一番少ないであろうX2が、一番速いだろうと予想できます。
ただ、XCLが一番遅く、差があまりに激しいので、その差はキャッシュなどで結構縮まるのではないか? ということです。
利用しているテーマもX2と同じではなく、XCLの方が複雑なのではないでしょうか?

#XCLがメモリを食うのは、classが多かったり、ファイルが多かったりするため?

一般的には、高機能になったら、遅くなるものだとは思うので、同じ条件でしたら、X2と同じというわけにはいかないでしょうねぇ。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/4/17 7:45
avtx30  Petty Officer 居住地: 3 years  投稿数: 75
返事が遅くなってすみません。

@toshiさん、
上記ブロックを作ろうとしたところmod_securityに怒られてしまいました。時間があるときにmod_securityの設定を見直してからやります。

@puchibanさん、
確かに同じテーマを使用するのが本来のやり方です。あえてそれぞれのdefault themeでテストしたのは default themeこそがそのXoopsの「顔」だからです。

puchibanさんがおっしゃる通りキャッシュを有効にしたりもっと実動作に近いテストをしないと納得できないなあと考えています。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/4/19 1:57
minahito  Lieutenant 居住地: 3年目  投稿数: 432
おぉ……xdebug がプロファイラを兼ねてるとは知りませんでした。
情報ありがとうございます。

ちなみにこのカキコミは gigamaster さんの blog でもネタにされていますね (^^)

http://gigamaster.blogspot.com/2008/04/xoops-and-legacy-performance-test.html
投票数:0 平均点:0.00
  条件検索へ

Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities