一般的な(そうではない)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 ビトリックス

ワードプレス Drupal Joomla Umi.CMS Ffms インスタント KodiCMS

Netcat

Hostcms 平均 MIN マックス
インストール済みサイズ(MB) 191 18.5 11.7 20.1 105 18.9 11.9 23,4 98.4 17.5 51.64 11.7 191
ファイル数 29908 1175 1074 5267 7128 1682 1650 3009 6391 2919 6020.3 1074 29908
MySQLテーブル数 241 11 74 68 97 22 84 33 155 114 89.9 11 241
MySQLテーブルの行 21918 126 1421 461 14616 187 12587 46 31467 20302 10313.1 46 31467
MySQLデータベースのサイズ(MB) 11 0.56 4.6 3.9 6.2 0.356 6.8 0.948 2.7 1.9 3.8964 0.356 11
要約ポイント -9 6 5 5.5 -5 6 1 6 -4 1


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



テスト/ CMS ビトリックス

ワードプレス Drupal Joomla Umi.CMS Ffms インスタント KodiCMS

Netcat

Hostcms 平均 MIN マックス
AVGロード時間(秒)

0.50 0.497733 0.210623 0.325381 2.99 0,090089 0.548239 0.213725 0.3279 0.70523 0.38 0.09 0.71
最小ロード時間(秒)

0.45 0.467 0.19 0,305 2.9 0,083 0.518 0.194 0,304 0.144 0.30 0.08 0.52
最大ロード時間(秒)

0.69 0.661 0.317 0.489 3,218 0.135 0.851 1,387 2,076 0.91 0.83 0.14 2.08
要約ポイント -1 -1 3 2.5 -6 6 -2.5 1 -4 -2




推定RAMサイズ



テスト/ CMS ビトリックス

ワードプレス Drupal Joomla Umi.CMS Ffms インスタント KodiCMS

Netcat

Hostcms 平均 MIN マックス
AVGメモリ(mb)

28,944115 22,992 18,144003 12,556 23,089791 3,181 5,953808 6,485019 13,696 10,789239 14.5830975 3,181 28,944115
最小メモリ(mb) 28,942 22,992 18,144 12,556 22,784 3,181 5,951 6,485 13,696 4,213 13.8944 3,181 28,942
最大メモリ(mb)

29,177 22,992 18,147 12,556 23,095 3,181 6,885 6,504 13,696 10,848 14.7081 3,181 29,177
要約ポイント -6 -3 -3 3 -3 6 3 3 3 -1




Apacheベンチマークスコア



テスト/ CMS ビトリックス

ワードプレス Drupal Joomla Umi.CMS Ffms インスタント KodiCMS

Netcat

Hostcms 平均 MIN マックス
テストにかかった時間(秒) 527,433 520,498 230.91 340,219 13 032.86 97,178 555,886 224,176 343,965 727,217 396.3868889 97,178 727,217
完全なリクエスト 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
失敗したリクエスト 965 0 0 0 697 0 0 0 0 955 213,3333333 0 965
1秒あたりのリクエスト(#/秒) 1.9 1.92 4.33 2.94 0.08 10.29 1.8 4.46 2.91 1.38 3,547777778 1.38 10.29
リクエストごとの時間(ミリ秒) 527,433 520,498 230.91 340,219 13032,857 97,178 555,886 224,176 343,965 727,217 396.3868889 97,178 727,217
転送速度 69.51 14.9 32,99 28.61 2.28 105.48 92.36 13.33 31.74 23.98 45,87777778 13.33 105.48
要約ポイント -4 -2 4 2 -12 10 0 4 2 -6




最終結果



テスト/ CMS ビトリックス

ワードプレス Drupal Joomla Umi.CMS Ffms インスタント KodiCMS

Netcat

Hostcms
ベーシック -9 6 5 5.5 -5 6 1 6 -4 1
phpload_time -1 -1 3 2.5 -6 6 -2.5 1 -4 -2
phpload_memory -6 -3 -3 3 -3 6 3 3 3 -1
Apacheベンチマーク -4 -2 4 2 -12 10 0 4 2 -6
結果の概要

-20 0 +9 +13 -26 +28 +1.5 +14 -3 -8




試験結果



ここで、テストの結果をノックアウトして、結果を簡単に評価します。 私たちのすべての結果は0から2の側面にあります:否定的な結果になったものコンピューティングリソースを重視する場合は、誰にも使用しないことをお勧めします(これは私の個人的な意見です-そのようなシステムの機能は桁違いに高くなる可能性があることを完全に理解しています他よりも)。

重要なテスト結果の1つは、 単一のオープンシステムが負の評価を受けなかったという事実であり、すべての商用製品がこのラインの後ろにありました(オープンソースを支持して+6 / -4)。

他の結論を出したいとは思いません。重要なテストの最終的なグラフを示し、あなた自身の結論を導きます(すべての写真はクリック可能です):



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



あとがき



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



便利な結果: Googleスプレッドシート

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

プレーンテキストでのテスト: Yandex.Diskから取得



All Articles