一般的な(そうではない)CMSのパフォーマンステスト

PHPスクリプトの読み取りみ込み合計時間(秒)


ごあいさつhabrazhitel! 私のプロジェクトでFFCMSを開発するとき 、私は主要な目標の1つを高速かつ機器リソースの最小消費として強調しましたが、すべての値は比較によってのみ推定できます。これについては、この記事で説明します。

私の前回の出版物では、一部のユーザーがシステムパフォーマンスの問題について質問し、2014年10月18日現在、人気のあるさまざまなCMSをテストすることにしました。 私は注意したい-システムはインストール直後にテストされ、データはシステムの使用期間に応じて一方向または別の方向に大幅に変化する可能性があります-データベース、ファイル数、その他の条件を増やします。

まえがき


そのようなテストを実施する前に、私は同様のテストの結果を見たいと思っていました。 しかし、残念なことに、多くの基準に従って少なくとも3つ以上のシステムを比較する単一の包括的なテストを見つけることができませんでした(たぶん見栄えが悪いのでしょうか?)。 これは驚くべきことです。何十、何十、何十万というウェブマスター、プログラマー、大企業が人気のあるCMSを使用しているからです。実際、システムが消費するリソースの問題に誰も関心がないのですか?

テストオブジェクト


テストのために、現在市販されているシステムと無料のシステムの両方を選択しました。 10のシステムが選択され、その名前と使用されているバージョンは以下のとおりです。

有料システムの場合、デモバージョンが選択され、作成者のWebサイトからダウンロードできます。

テスト方法


すべての製品でテスト結果が均一になるように、Webサーバー、データベース、およびその他の必要なテストソフトウェアがインストールされた仮想マシンが作成されました。 スタンドとして使用されたもの:

* UPD:コメントで批評家が要求したように、OPCacheを有効にして2番目のphp 5.5テストも実施されました-結果はメインテストに比例します。 結果は最後のセクションに示されています。

各CMSはスタンドの仮想環境にインストールされ、その後、コード(ほとんどの場合はindex.php)に数行が追加され、スクリプトの実行時間と使用メモリ量に関する結果を保存できるようになりました。

$_test_loadstart = microtime(true); //  CMS $_test_loadend = microtime(true); $_test_loadtime = number_format($_test_loadend - $_test_loadstart, 3); $_test_memory = number_format(memory_get_usage()/1048576, 3); file_put_contents($_SERVER['HTTP_HOST'] . '.txt', $_test_loadtime . ';' . $_test_memory . "\n", FILE_APPEND); 

その結果、domain.local.txtファイルが受信されました。このファイルには、スクリプトのロード時間とRAM消費に関するデータが含まれていました。
サイトへのリクエストを作成するために、並行リクエストを作成せずにab(Apacheベンチマーク)を使用しました-目標はapacheをテストすることではなく、目標は各CMSの平均結果を取得することでした:

 ab -n 1000 http://domain.local/ > ~/bench/ab/domain.local.txt 


結果を評価するための方法論


全体として、テストテクノロジーは、以下のセクションの上記のテクノロジーに基づいて評価されました。

各テストセクションでは、CMSごとに、得られた結果(個人)とサンプル全体の平均(平均)に応じて、グレード(-2 <= x <= +2)が設定されました。

すべての基準によるすべてのカテゴリのテスト結果に基づいて、結果の表がコンパイルされ、すべてのテストの合計結果が表示されます。
*また、1つの点について説明します。テスト中にUMI.CMSがダウンロード速度にとてつもない結果を示したため、一部のテストカテゴリでその結果がAVGの計算から除外されました。

テスト中


材料とテストの方法論に精通しているため、テスト自体に直接進みます。 以下は、テストの各カテゴリの最終結果です。

ユーザーフレンドリーなテスト結果: Googleスプレッドシート
OPCacheを使用したPHP 5.5の結果(コアに比例): Googleスプレッドシート

記述的評価


テスト/ CMSビトリックス
ワードプレスDrupalJoomlaUmi.CMSFfmsインスタントKodiCMS
Netcat
Hostcms平均MINマックス
インストール済みサイズ(MB)19118.511.720.110518.911.923,498.417.551.6411.7191
ファイル数299081175107452677128168216503009639129196020.3107429908
MySQLテーブル数2411174689722843315511489.911241
MySQLテーブルの行219181261421461146161871258746314672030210313.14631467
MySQLデータベースのサイズ(MB)110.564.63.96.20.3566.80.9482.71.93.89640.35611
要約ポイント-9655.5-5616-41

スクリプトの読み込み速度の推定


テスト/ CMSビトリックス
ワードプレスDrupalJoomlaUmi.CMSFfmsインスタントKodiCMS
Netcat
Hostcms平均MINマックス
AVGロード時間(秒)
0.500.4977330.2106230.3253812.990,0900890.5482390.2137250.32790.705230.380.090.71
最小ロード時間(秒)
0.450.4670.190,3052.90,0830.5180.1940,3040.1440.300.080.52
最大ロード時間(秒)
0.690.6610.3170.4893,2180.1350.8511,3872,0760.910.830.142.08
要約ポイント-1-132.5-66-2.51-4-2


推定RAMサイズ


テスト/ CMSビトリックス
ワードプレスDrupalJoomlaUmi.CMSFfmsインスタントKodiCMS
Netcat
Hostcms平均MINマックス
AVGメモリ(mb)
28,94411522,99218,14400312,55623,0897913,1815,9538086,48501913,69610,78923914.58309753,18128,944115
最小メモリ(mb)28,94222,99218,14412,55622,7843,1815,9516,48513,6964,21313.89443,18128,942
最大メモリ(mb)
29,17722,99218,14712,55623,0953,1816,8856,50413,69610,84814.70813,18129,177
要約ポイント-6-3-33-36333-1


Apacheベンチマークスコア


テスト/ CMSビトリックス
ワードプレスDrupalJoomlaUmi.CMSFfmsインスタントKodiCMS
Netcat
Hostcms平均MINマックス
テストにかかった時間(秒)527,433520,498230.91340,21913 032.8697,178555,886224,176343,965727,217396.386888997,178727,217
完全なリクエスト1000100010001000100010001000100010001000100010001000
失敗したリクエスト9650006970000955213,33333330965
1秒あたりのリクエスト(#/秒)1.91.924.332.940.0810.291.84.462.911.383,5477777781.3810.29
リクエストごとの時間(ミリ秒)527,433520,498230.91340,21913032,85797,178555,886224,176343,965727,217396.386888997,178727,217
転送速度69.5114.932,9928.612.28105.4892.3613.3331.7423.9845,8777777813.33105.48
要約ポイント-4-242-1210042-6


最終結果


テスト/ CMSビトリックス
ワードプレスDrupalJoomlaUmi.CMSFfmsインスタントKodiCMS
Netcat
Hostcms
ベーシック-9655.5-5616-41
phpload_time-1-132.5-66-2.51-4-2
phpload_memory-6-3-33-36333-1
Apacheベンチマーク-4-242-1210042-6
結果の概要
-200+9+13-26+28+1.5+14-3-8


試験結果


ここで、テストの結果をノックアウトして、結果を簡単に評価します。 私たちのすべての結果は0から2の側面にあります:否定的な結果になったものコンピューティングリソースを重視する場合は、誰にも使用しないことをお勧めします(これは私の個人的な意見です-そのようなシステムの機能は桁違いに高くなる可能性があることを完全に理解しています他よりも)。
重要なテスト結果の1つは、 単一のオープンシステムが負の評価を受けなかったという事実であり、すべての商用製品がこのラインの後ろにありました(オープンソースを支持して+6 / -4)。
他の結論を出したいとは思いません。重要なテストの最終的なグラフを示し、あなた自身の結論を導きます(すべての写真はクリック可能です):

メモリ平均グラフのロード ロード時間平均グラフ 要約統計グラフ

あとがき


決して誰かを怒らせたくはありませんでした-さまざまなCMSの主観的なテストの結果のみを提供しました。 おそらくサイトの開発/管理の利便性よりも、リソース消費があなたにとって非常に重要であるかどうかを判断する権利が常にあります。

便利な結果: Googleスプレッドシート
OPCacheを使用したPHP 5.5の結果(コアに比例): Googleスプレッドシート
プレーンテキストでのテスト: Yandex.Diskから取得

Source: https://habr.com/ru/post/J240829/


All Articles