主流phpフレームワークの性能比較
3333 ワード
今回比較テストを行ったのは以下の4種類のphpフレームワークです thinkphp ci laveral ppf
最初の3つは市場で主流のphpフレームワークで、4つ目は私が書いた軽量級phpフレームワークです.siegeソフトウェアでの4つのフレームワークのテスト結果をテストしましょう.
Siegeコマンドの一般的なパラメータについて簡単に説明します
今回は以下のパラメータを使用してコーディネートします:./siege -c 100 -t 30s
ホスト:MacBook Pro
プロセッサー:2.7 GHz Intel Core i 5
メモリ:8 GB 1867 MHz DDR 3
環境:nginx/1.10.1
その他:以上の4つにnginx vhost仮想ディレクトリが設定されています.
thinkphpバージョン:thinkphp_5.0.5_full ciバージョン:3.1.5 laveralバージョン:5.4 ppfバージョン1.3.0
1.ppfは、毎秒処理の効率および対応する時間で4の中で最も高く(結局コードが少ない...)、しかし、同時処理はあまり優れていないので、具体的なフレームワークはppfマニュアルを見ることができます.
2.thinkphpは2番目によく、非常に優れた安定性を示し、処理効率と合併数が非常に優れている.
3.laravelという外国のフレームワークは処理効率が高くないが、同時性能は非常に優れている(ここでは、処理効率と同時性能が負の相関成長を示すと一般的な結論が得られる)
最初の3つは市場で主流のphpフレームワークで、4つ目は私が書いた軽量級phpフレームワークです.siegeソフトウェアでの4つのフレームワークのテスト結果をテストしましょう.
siege圧力テストの方法
Siegeコマンドの一般的なパラメータについて簡単に説明します
-c 100 100
-r 5 5
-f urls.txt url
-i internet , url
-t 30s 30
# -r -t
今回は以下のパラメータを使用してコーディネートします:./siege -c 100 -t 30s
テスト環境
ホスト:MacBook Pro
プロセッサー:2.7 GHz Intel Core i 5
メモリ:8 GB 1867 MHz DDR 3
環境:nginx/1.10.1
その他:以上の4つにnginx vhost仮想ディレクトリが設定されています.
4大フレームワークのバージョンと説明
テストコード
$time1 = microtime(true);
$a = array();
for($i=0;$i<600000;$i++){
$a[$i] = $i;
}
$time2 = microtime(true);
echo $time2-$time1;die;
テスト結果は次のとおりです。
./siege -c 100 -t 30s http://ci.com
Transactions: 928 hits
Availability: 100.00 %
Elapsed time: 29.41 secs
Data transferred: 0.01 MB
Response time: 2.51 secs
Transaction rate: 31.55 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 79.23
Successful transactions: 928
Failed transactions: 0
Longest transaction: 3.46
Shortest transaction: 0.08
./siege -c 100 -t 30s http://thinkphp.com/
Transactions: 1039 hits
Availability: 100.00 %
Elapsed time: 29.14 secs
Data transferred: 0.02 MB
Response time: 2.17 secs
Transaction rate: 35.66 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 77.32
Successful transactions: 1039
Failed transactions: 0
Longest transaction: 3.33
Shortest transaction: 0.16
./siege -c 100 -t 30s http://ppf.com/
Transactions: 1336 hits
Availability: 100.00 %
Elapsed time: 29.59 secs
Data transferred: 0.02 MB
Response time: 1.61 secs
Transaction rate: 45.15 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 72.81
Successful transactions: 1336
Failed transactions: 0
Longest transaction: 2.52
Shortest transaction: 0.08
./siege -c 100 -t 30s http://laravel.com/
Transactions: 534 hits
Availability: 100.00 %
Elapsed time: 29.81 secs
Data transferred: 0.01 MB
Response time: 4.70 secs
Transaction rate: 17.91 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 84.13
Successful transactions: 534
Failed transactions: 0
Longest transaction: 6.69
Shortest transaction: 0.18
簡単な結論を出す
1.ppfは、毎秒処理の効率および対応する時間で4の中で最も高く(結局コードが少ない...)、しかし、同時処理はあまり優れていないので、具体的なフレームワークはppfマニュアルを見ることができます.
2.thinkphpは2番目によく、非常に優れた安定性を示し、処理効率と合併数が非常に優れている.
3.laravelという外国のフレームワークは処理効率が高くないが、同時性能は非常に優れている(ここでは、処理効率と同時性能が負の相関成長を示すと一般的な結論が得られる)