ホームページ > バックエンド開発 > PHPチュートリアル > パフォーマンスの最適化 PHP の最適化 パフォーマンスの調整とパフォーマンスを最適化するための最適化調整 コンピューターのパフォーマンスを最適化する方法

パフォーマンスの最適化 PHP の最適化 パフォーマンスの調整とパフォーマンスを最適化するための最適化調整 コンピューターのパフォーマンスを最適化する方法

WBOY
リリース: 2016-07-29 08:54:13
オリジナル
1403 人が閲覧しました

1. 言語パフォーマンスの最適化

1. パフォーマンス テストには Apache で ab ツールを使用します
テスト: ab -n100 -c100 (リクエスト 100、同時実行数 100)
2 つの数値に注目してください: 1 秒あたりのリクエスト数 (1 秒あたりのリクエスト数) とリクエストあたりの時間 (平均応答時間)
2. PHP の組み込み変数、定数、関数、理由を使用してみてください。 PHP コード PHP コードは、zend エンジンによって個別にスキャンされて zend が認識可能な構文にし、実行前にオペコード コードに解析する必要があります。
3. 組み込み関数にも長所と短所があり、isset と array_key_exists を例として、高パフォーマンスの関数の使用方法を理解し、関数の実装にかかる時間を理解する必要があります。
4. PHP のマジック関数はできるだけ避けてください。
5. このステートメントの前後にコードが挿入されるため、エラー抑制子 @ の使用は禁止されています。ツール vld を使用して、php のオペコードを表示します。

6. メモリを合理的に使用する (変数を解放するには unset を使用することをお勧めします)

7. 正規表現を合理的に使用する (理由はバックトラックが必要なため)

8 . ループ内の計算を避ける。例: for($i=0;$i9. 計算量の多いビジネスを削減します。理由: PHP の言語特性によって決まります。PHP は C 言語で書かれており、実装する場合は C 経由で実行する必要があります。これは単なるリンクです。 PHP が得意とするのは、Web サーバーとバックエンド サービスの接続、および UI 表示です。したがって、集中的なビジネスは他の言語を使用して実装するのが最適です。そうしないと、パフォーマンスのボトルネックになります。

10. キー値として必ず引用符で囲んだ文字列を使用してください。それ以外の場合、PHP は最初に定数値を探しますが、見つからない場合はそれを文字列として扱うため、追加のオーバーヘッドが必要になります。

2. 周辺機器のパフォーマンスの最適化

パフォーマンスに影響を与える主な要素は次の 5 点です。

1. Linux 環境。

2 . ファイル ストレージ (ハードディスク);

3. 次の方法を使用することをお勧めします。メモリ

2.ネットワークリクエストの最適化:原因:1.相手のインターフェースの不確実性、2.ネットワークの安定性

最適化方法:2.1.タイムアウト; b 読み取りタイムアウト; c 書き込みタイムアウト);

a) swoole 拡張機能を使用します。

3.

PHPインターフェース出力を圧縮します:Gzip圧縮を使用します長所:クライアントがデータをより速く受信できるようにします

短所:追加のCPUオーバーヘッド


4.繰り返し計算内容をキャッシュ:
複数のリクエスト、内容は変更されません
5. スマートなチューニングと時間枠
重複の思考 (最後のタスクのときに使用できます)前のタスクに強く依存しません) を使用して、並列実行時間を短縮します。

6. xhprof ツールを使用してパフォーマンスを分析する
Three.php のパフォーマンスのボトルネック解決策

キャッシュ: PHP 拡張機能 APC
拡張機能の実装: PHP 拡張機能を使用して元の PHP コード内の高頻度ビジネス ロジックを置き換えます

実行時最適化: HHVM 上記では、パフォーマンスの最適化と PHP コンテンツを含む、PHP の最適化について紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート