PHP フレームワーク パフォーマンス テスト レポート、PHP フレームワーク パフォーマンス テスト_PHP チュートリアル
PHP フレームワーク パフォーマンス テスト レポート、php フレームワーク パフォーマンス テスト
PHP 開発者およびスタートアップ チームの技術開発者として、開発フレームワークの選択は非常に難しいものです。
ThinkPHP では、訓練機関を卒業したばかりの開発者を採用することで始めることができますが、パフォーマンスとポストコードを切り離すのは頭の痛い問題です。ただし、多くの専門家がすでに道を切り開いているため、サードパーティ関数の多くは自分で記述する必要はありません。
Laravel を使用すると、Legend は非常に快適に記述でき、十分なスケーラビリティを備えていますが、学習コストが少し高くなります。若手開発者にフレームワークの学習に半月も与えることはできません。そして、Laravel のパフォーマンスがあまり良くなく、ドキュメントもそれほど充実していないことが世界中で暴露されていると言われています。
Yii は構文が少し面倒で、フロントエンドとバックエンドのコードを分けるのが少し面倒ですが、パフォーマンスは非常に良く、すでに多くの国内大手企業で使用されています。 、質問に回答する専門家をすぐに見つけることができます。
簡単な性能評価をした方が良いです
性能の良いものを選んでおけば間違いありません。パフォーマンステスト
テスト時期: 2016 年 5 月 6 日
テストツール: siege (MAC システムの ab には常にエラー pr_socket_recv: Connection reverse bypeer (54) が発生するため、siege を選択しました)
テストマシン: MacPro Core i5 プロセッサ/8GB メモリ/256GB SSD フラッシュメモリ
テスト環境:Apache PHP5.6
フレームワークのバージョン: ThinkPHP 3.2.3 Laravel 5.2 Yii2.0.5
テスト原理: 各テストは 5 回ループし、中程度のデータを取得します
追記: すべてのプロジェクトはサブディレクトリに配置されます
結果の説明
テストを開始します
コントローラーを追加し、コントローラーで HelloWorld を 10,000 回入力してください
同時実行 50 ループ 10 回:
最初に思いついたのは ThinkPHP でしたが、これは問題なさそうでした
リーリーそれでは、ララブル、うーん、少しがっかりしました
リーリー結局、試合前はYiiについてもっと楽観的でした
リーリー同時実行 200 ループ 10 回:
まずはThinkPHPです
リーリーその後、Laravelが登場しました
リーリー最後はYiiです
リーリー予想外に、最適化を行わないと、ThinkPHP が最も速く、Yii がわずかに速く、Laravel は不安定なペースでテストを終了しました。結果はやや予想外ですが、上記のテストは開発環境のみを表しています。フレームワークはオンライン環境をシミュレートするために以下で最適化されます。
最適化フレームワーク
ThinkPHP:
リーリーララベル:
リーリーゆい:
YII_DEBUG が false に変更されました
作曲家ダンプ自動ロード -o
同時実行 200 ループ 10 回:
PHP について考える
リーリーララベル:
リーリーいい:
リーリー奇妙なのは、フレームワークがデバッグ モードをオフにすると、失敗が増えることです。ただし、単純な最適化の後、Laravel のパフォーマンスは大幅に向上していることは明らかですが、それでも他の 2 つのフレームワークよりも低いです。
結論
テスト中、私は落ち込んで、自分の世界観が崩壊するまで崩壊したと感じました。
ThinkPHP のパフォーマンスは Yii の 2 倍、Laravel のほぼ 4 倍です
Yii のパフォーマンスは比較的平凡ですが、テストでは、他の 2 つのフレームワークよりもリクエストの失敗が少ないことが明らかです
Laravel は依然としてエレガントですが、そのパフォーマンスは心配です。ネチズンの言葉で表現するのが適切です。学ぶ者は生き、それを使用する者は死ぬ
ついに
私のプロジェクトは、コンポーザーの力のおかげで、開発に非常にスムーズに進み、最終的には 200 の同時実行数と 10 サイクルの自作フレームワークのデータを添付しました。オープンソースですが、更新はかなり忙しいです。github で PPPHP を検索して、一緒にフレームワークを構築してください。
リーリー
ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Singleton Patternは、クラスに1つのインスタンスしかないことを保証し、単一のオブジェクトがデータベース接続や構成管理などのシステムの動作を調整するシナリオのグローバルアクセスポイントを提供します。 2。その基本構造には、プライベート静的属性ストレージインスタンス、プライベートコンストラクターが外部の作成を防ぎ、プライベートクローニング方法がコピーを防止し、インスタンスを取得するためのpublic staticメソッド(getInstance()など)が含まれます。 3. getInstance()メソッドを呼び出してPHPで一意のインスタンスを取得し、何回呼び出されても同じオブジェクト参照を返します。 4.標準のPHPリクエストモデルでは、スレッドの安全性を考慮する必要はありませんが、同期の問題は長期的またはマルチスレッド環境で注意を払う必要があり、PHP自体はネイティブロックメカニズムをサポートしていません。 5。シングルトンは便利ですが、

回答:PHPの空のマージ演算子(??)は、変数キーまたは配列キーが存在し、nullではないかどうかを確認するために使用されます。それが本当なら、それはその値を返し、それ以外の場合はデフォルト値を返します。長いISSET()チェックの使用を回避し、$ username = $ userInput ?? 'guest'などの未定義の変数や配列キーの処理に適しています。

$ _getを使用して、?name = john&age = 25などのURLパラメーターを取得します。 ISSETまたは空のマージオペレーターを介して存在を確認し、Filter_Inputでデータをフィルタリングおよび検証して、セキュリティを確保します。

回答:file_get_contentsとcurlを使用してURLファイルをダウンロードします。前者はシンプルですが制限がありますが、後者はより柔軟でストリーミングをサポートします。例には、ファイルを直接読み書き、CURL初期化の設定オプションと保存、エラー処理の追加、HTTPステータスチェックが含まれます。メモリを保存するためにブロックでダウンロードをストリーミングするために大きなファイルが推奨され、ディレクトリが書かれ、例外を適切に処理できるようにします。

Interfaceを実装するには、Implementsキーワードを使用すると、クラスはインターフェイス内のすべてのメソッドの特定の実装を提供する必要があります。 2。インターフェイスを定義して、インターフェイスキーワードを使用してメソッドを宣言します。 3。クラスはインターフェイスを実装し、メソッドをオーバーライドします。 4.オブジェクトを作成し、メソッドを呼び出して結果を出力します。 5.クラスは複数のインターフェイスを実装して、コードの仕様と保守性を確保することができます。

todisableaphpfunction、sudisable_functionsinphp.iniforbuiltionslikeexecorsystem、foruser-defiededecurity;

9月18日、AppleはiPhone 17 ProとiPhone 17 Promaxのレビューの禁止を解除し、A19 Proチップの実際のパフォーマンスはすぐに主要なメディアの注目の核となっています。 Geek Bayは、iPhone 17シリーズの詳細なパフォーマンステストを実施し、A19Pro、A18Pro、A17Proの3つのチップで多くの3Aクラスモバイルゲームの実行フレームレートと消費電力パフォーマンスを比較することに焦点を当てました。結果は、A19Proがパフォーマンス出力の大幅な上位を達成したことを示しています。特定のゲームテストデータは次のとおりです。「バイオハザード4:リメイク」:A19Proを装備したデバイスは、A18Pro(4.7Wと比較して、平均フレームレートと6.1Wの消費電力を達成します。

topreventxssinphp、sanitizeuserininputandescapeoutput basedoncontextusinghtmlspecialchars()forhtml、json_encode()forjavascript、andvalidattlywithfilter_var()forexectedDatatypes
