ホームページ > 記事 > PHPフレームワーク > Thinkphpとlaravelのパフォーマンス比較
ThinkPHP は、高速で互換性があり、シンプルで軽量な国産 PHP 開発フレームワークです。Apache2 オープンソース契約に基づいてリリースされています。Struts 構造から移植され、改良され、完成されています。また、多くの優れた外国のフレームワークとパターンを採用し、オブジェクト指向開発構造と MVC パターンを使用し、Struts と TagLib (タグ ライブラリ)、RoR の ORM マッピング、ActiveRecord パターンのアイデアを統合します。
Laravel は、シンプルでエレガントな PHP Web 開発フレームワーク (PHP Web フレームワーク) です。ヌードルのような乱雑なコードから解放され、完璧なネットワーク APP を構築するのに役立ち、コードの各行を簡潔かつ表現力豊かにすることができます。
thinkphp と laravel のパフォーマンス比較:
パフォーマンス テスト
テスト時間: 2016 年 5 月 6 日
テスト ツール: siege (MAC システムのため) ab では常にエラー pr_socket_recv: ピア (54) によって接続がリセットされました。そのため、siege を選択しました)
テスト マシン: MacPro Core i5 プロセッサ/8GB メモリ/256GB SSD フラッシュ メモリ
テスト環境: Apache PHP5.6
フレームワークのバージョン: ThinkPHP 3.2.3 Laravel 5.2
テスト原則: 各テストは中程度のデータを取得して 5 回ループします
補足説明: すべてのプロジェクトはすべてサブディレクトリに配置
結果の説明
トランザクション: 2119 ヒット処理されたリクエストの合計数
可用性: 96.85 % 可用性
経過時間: 9.74秒 実行時間
データ転送: 1.31 MB データ転送量
応答時間: 0.60 秒応答時間
トランザクション レート: 217.56 トランス/秒1 秒あたりの処理効率
スループット: 0.13 MB/秒 1 秒あたりのデータ処理数
同時実行数: 130.28 同時実行数
成功したトランザクション: 2162 成功したリクエスト
失敗したトランザクション: 69 失敗したリクエスト
最長トランザクション: 2.85 最長単一リクエスト
最短トランザクション: 0.01 最短単一リクエスト
テストを開始
コントローラーを増やし、HelloWorld に 10,000 回入るコントローラー
同時実行 50 ループを 10 回:
最初に思いついたのは ThinkPHP で、これは問題ないようでした
トランザクション: 500 ヒット
可用性: 100.00 %
経過時間: 2.81 秒
データ転送: 52.45 MB
応答時間: 0.26 秒
トランザクション レート: 177.94 トランス/sec
スループット: 18.67 MB/秒
同時実行性: 47.10
成功したトランザクション: 500
失敗したトランザクション: 0
最長トランザクション: 0.48
最短トランザクション: 0.03
次に Laravle:
同時実行 200 ループを 10 回:
最初は ThinkPHP
トランザクション数: 1977 ヒット
可用性: 98.85 %
経過時間: 10.03 秒
データ転送: 207.40 MB
応答時間: 0.95 秒
トランザクション レート: 197.11 トランス/秒
スループット: 20.68 MB/秒
#同時実行性: 187.68
成功したトランザクション: 1977
失敗したトランザクション: 23
最長トランザクション: 1.22
最短トランザクション: 0.02
その後、Laravel
トランザクション数: 1890ヒット数
可用性: 94.50 %
経過時間: 51.85 秒
データ転送: 198.27 MB
応答時間: 4.88 秒
トランザクション レート: 36.45 トランス/秒
スループット: 3.82 MB/秒
同時実行性: 178.00
成功したトランザクション: 1890
失敗したトランザクション: 110
最長トランザクション: 26.01
最短トランザクション: 0.07
意外なことに、最適化なしでは、速度は ThinkPHP が最も速く、Yii がわずかに上回っており、Laravel は でテストを終了しました。たどたどしいペース。結果は少々予想外ですが、上記のテストは開発環境のみを表しており、以下ではオンライン環境をシミュレートするためにフレームワークを最適化します。
最適化フレームワーク
ThinkPHP:
APP_DEBUG が false に変更されます
Laravel:
APP_DEBUG が false に変更されます
php 職人ルート:キャッシュ
php 職人最適化
php 職人設定:キャッシュ
composer dumpautoload -o
同時実行 200 ループ 10 回:
ThinkPHP
トランザクション数: 1655 ヒット
可用性: 82.75 %
経過時間: 8.21 秒
データ転送数: 173.62 MB
応答時間: 0.69 秒
トランザクション レート: 201.58 トランス/秒
スループット: 21.15 MB/秒
#同時実行性: 139.29
成功したトランザクション: 1655
失敗したトランザクション: 345
最長トランザクション: 7.83
最短トランザクション: 0.00
Laravel:
トランザクション: 1520 ヒット
可用性: 76.00 %
経過時間: 34.95 秒
データ転送: 159.45 MB
応答時間: 3.15 秒
トランザクション レート: 43.49 トランス/秒
スループット: 4.56 MB/秒
同時実行性: 136.84
成功したトランザクション: 1520
失敗したトランザクション: 480
最長トランザクション: 19.18
最短トランザクション: 0.00
奇妙なことに、フレームワークがデバッグ モードをオフにすると、 、比較的大きなエラーが発生し、失敗が多くなります。ただし、単純な最適化の後、Laravel のパフォーマンスは大幅に向上していることは明らかですが、それでも他の 2 つのフレームワークよりも低いです。 ######結論は:###
ThinkPHP のパフォーマンスは Laravel のほぼ 4 倍です。
php 中国語 Web サイト、無料の laravel 入門チュートリアル が多数あり、オンラインで学習することを歓迎します。
以上がThinkphpとlaravelのパフォーマンス比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。