PHP パフォーマンス問題の分析 + 最適化
この記事は、PHP のパフォーマンス問題の分析と最適化に関するものです。興味のある友人は、ぜひ詳細を学びに来てください。
PHP のパフォーマンスの問題はどのような状況で発生しますか?
1 PHP 構文の不適切な使用
2 PHP 言語が苦手なことは実行できません
3 PHP 言語を使用して接続されるサービスは強力ではありません
4 PHP 自体の欠点
5 問題は私にもわかりません
パフォーマンス問題の分析
PHP のパフォーマンス問題はプロジェクト全体のパフォーマンス問題の 50% を占めていますこの割合は 50% 未満です。
パフォーマンス最適化プロジェクトは、PHP のみの最適化に限定すべきではありません。
PHP 言語レベルのパフォーマンスの最適化
|
|
PHP 周辺機器のパフォーマンス問題の最適化
Apache Benchmark(ab)(ご自身でダウンロードできます)
ab は、Apache が提供するストレス テスト ソフトウェアです。 Apache サーバーのインストール時に含まれます。 #########使い方?
#。/AB-N1000 -C100 http://www.baidu.com/
ターゲットストレステストアドレス
Php-ストレス テスト ツールの使用法のデモ
1 秒あたりのできるだけ多くの同時実行に主に焦点を当てます
リクエストにかかる時間をできる限り短くします
PHP 独自の機能をより多く使用する
最適化: コードの作成量を減らし、PHP 独自の機能をより多く使用する
パフォーマンスの問題: 自己 コードには多くの冗長性があり、可読性が低く、パフォーマンスが低い
パフォーマンスがこれほど低いのはなぜですか?
。 良い方法: PHP の組み込み変数/定数/関数をさらに使用する
PHP 自身の能力パフォーマンス テストのためのコードの準備
php コード実行プロセス
*.php ---スキャナ--->式 -----パーサー--->オペコード---実行--->出力
php 組み込み関数間のパフォーマンステスト
最適化ポイント: php 組み込み関数のパフォーマンス上のメリットとデメリット
状況説明: php 組み込み関数、
間のブロック速度の差はまだあります。 良い提案: PHP 組み込み関数の時間計算量について詳しく学ぶ
PHP ビルド間のパフォーマンス テストのコード テスト-in 関数
isset($arr[$i]); //平均 50ms
array_key_exists($i,$arr);//平均 85ms
PHP を削減マジック関数の使用
状況説明: PHP が提供するマジック関数のパフォーマンスが低い
パフォーマンスが低い理由 PHP プログラマのトラブルを避けるために、PHP 言語は多くのことを行ってくれます
良い方法 PHP マジック関数の使用をできるだけ避ける
PHP エラー抑制機能を無効にする
@
## の実際のロジック# コードの開始前と終了後に増加します。オペコードはエラーを無視します。
php -dv|d.active=1 -dv|d.execute=0 at.php
ただ、チェックを入れて実際には実行したくない
PHP - メモリと正規表現の合理的な使用
最適化ポイント: メモリの合理的な使用
PHP には収益を保証するメモリ リサイクル メカニズムがありますが、メモリの使用には注意してください。
良いアドバイス
unset() を使用して、未使用のメモリを時間内に解放してください (注: unset()ログアウトできない可能性があります)
正規表現の使用はできるだけ少なくしてください
正規表現のバックトラッキングのオーバーヘッドは比較的大きいため、
良い提案:
同じロジックを実現するには文字列処理関数を使用します。
PHP - ループ内での計算を避ける
最適化ポイント: ループ内での計算を避ける
状況の説明:
ループ内の計算式が繰り返し計算されます
コード例:
# PHP は大規模なデータの計算には適していません
PHP は次のような場合に適していますシナリオ
Web サーバーとバッキング サービスの接続、UI レンダリングに適しています
PHP - 必ず引用符を使用してください文字列をキー値として使用してください
PHP はキー値を扱います定数として引用符を使用しないため、定数を見つけるオーバーヘッドが発生します。
引用符で囲まれた文字列をキー値として厳密に使用します。
PHP に関する問題の分析と説明
PHP の周辺機器とは何ですか?
Linux 動作環境 php ハードディスク (ファイル ストレージ) データベース (mysql など) キャッシュ ネットワーク
分析PHP 周辺機器が PHP プログラムに及ぼす影響
ファイル タイプ操作の削減 一般的な PHP シナリオのオーバーヘッド順序 :
ディスクの読み取りと書き込み 読み取りと書き込みデータベースの書き込み メモリの読み取りおよび書き込み ネットワーク データの読み取りおよび書き込み
メモリの読み取りおよび書き込み<<データベースの読み取りおよび書き込み< ディスクの読み取りおよび書き込み< ネットワーク データの読み取りおよび書き込み
PHP によって開始されるネットワーク リクエストの削減
ネットワーク リクエストの落とし穴:
1 相手のインターフェイスの不確実要素
2 ネットワークの安定性パフォーマンス
ネットワーク リクエストの最適化
# 1セットタイムアウト期間
#接続タイムアウト
読み取りタイムアウト800ms 書き込みタイムアウト500ms 2並列シリアルリクエストバッチセッションcurl_multi_close cURLハンドルのグループを閉じるcurl_multi_exec現在のcURLハンドルのサブ接続を実行
curl_multi_getcontent CURLOPT_RETURNTRANSFER が設定されている場合、取得した出力テキスト ストリームを返します。
curl_multi_info_read 現在解析されている cURL の関連送信情報を取得します。
curl_multi_remove_handle CURL バッチ処理ハンドル リソース内のハンドル リソースを削除します。
curl_multi_select すべてのアクティブな接続を待ちます。 cURL バッチ処理での
curl_multi_setopt cURL マルチ ハンドルのオプションの設定
curl_multi_strerror - エラー コードを説明する文字列を返す
推奨される swoole 拡張機能
PHP 出力の圧縮の長所と短所
PHP インターフェイスの出力の圧縮
圧縮方法は?
Gzip を使用する
# 利点 データ出力に役立ち、クライアントはより速くデータを取得できます
欠点 CPU オーバーヘッドの追加
PHP キャッシュの再利用
以下出力コンテンツはどのような状況でキャッシュされますか?
複数のリクエスト、コンテンツは変更されない
Smarty の調整と時間枠の重複に関するアイデア
Smarty がキャッシュをオンにする
時間枠の重複に関するアイデア
シリアル:
Process1 Process2 Process3 Process4
重複する時間枠:
process1
process2
process3
Process4
次の時間枠タスクは前のタスクに強く依存していないため、オーバーラップ時間を使用できます
PHP バイパス処理ソリューション
一般的には通常の: x.php -> プロセス 1 ->プロセス 2 ->プロセス 3 -> プロセス 4->
バイパス ソリューション: x.php -> プロセス 1 ->プロセス 2 (同時に) ->プロセス 3 (同時に) -->Process4->
以上がPHP パフォーマンス問題の分析 + 最適化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
