同社は、サーバー リソースを節約するために、同時実行性の高いインターフェイスを開発したいと考えており、どのパフォーマンスが要件を満たすかを判断するために、いくつかの一般的なフレームワークについて調査を実施しています。
#事前準備
##ストレス テスト ツールをインストールします (私は ab を使用します)ab の正式名は: apache bench
公式サイトの説明は以下の通りです。 (おすすめ学習:PHPプログラミング入門から習熟まで)
ABはApacheのHypertext Transferの性能です。プロトコル (HTTP) テスト ツール。その設計意図は、現在インストールされている Apache の実行パフォーマンスを描写することであり、主に、インストールされている Apache が 1 秒あたりに処理できるリクエストの数を示すことです。インストール フレームワーク
yii2、ci、lumen5.0、tp5、biny フレームワークテスト用にインストールしました
各フレームをローカル データベースにリンクし、キャッシュをオンにして、純粋な HTML ページとデータベース計算ページの 2 ラウンドのテストを実行します。圧力測定は 20 の同時実行です。 、合計は 300テスト結果
データベースの運用と保守のストレス テストの結果は次のとおりです:純粋な HTMLインターフェイス ストレス テストの結果は次のとおりです。
結果分析
ネイティブ スクリプトは、圧力に耐える最も強力な能力を備えていますが、開発効率が低く、ポスト パフォーマンスが高くなります。メンテナンスコスト さらに、ここではデータベース操作の簡単なテストを示します 特定のプロジェクト ギャップはそれほど大きくないかもしれませんci と biny 間の同時実行効果は最高ですが、ci のバージョンは非常に古いです、更新が問題になる可能性がありますが、biny は Tencent の最近のオープン ソース フレームワークであり、いくつかの場所ではまだ問題があり、欠陥があり、ドキュメントは十分にフレンドリーではありません。現在、フレームワークには公式ドキュメントのみが埋め込まれており、フレームワークには埋め込まれていません。マニュアルが多く、可読性が非常に悪いです tp5 の効率は上記 3 つのフレームワークほど良くありませんが、それでもパフォーマンスは良好です はい、php7 のサポートは非常に優れています 問題は、フレームワークのディレクトリがわかりにくいことですこれは大規模なプロジェクトの開発には適していません。lumen と yii2 の同時実行サポートはあまり優れていませんが、2 つのフレームワーク自体は非常に強力であり、その中でも yii2 は RESTful に非常に優れています。インターフェイスのサポートは次のとおりです。お金に余裕がない場合は、安静なインターフェース仕様開発のために yii2 を使用することをお勧めします。以上がPHPのストレステストを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。