一般に、負荷のボトルネックは主に次の 4 つの側面にあります:
1 データベース
2 サーバー CPU
3 ハードディスク I/O 4 ネットワーク帯域幅
これら 4 つに加えて。他に最適化する価値のあるものはありますか? phpは本当に強力です。今日は、PHP のスクリプト レベルでの PHP のパフォーマンスの調整について説明します。
単一サーバー上の PHP のパフォーマンスを向上させたい場合。 「コンパイルキャッシュ」を利用することができます。 キャッシュをコンパイルすると、パフォーマンスが向上するだけでなく、PHP プログラムの容量とコードの複雑さが増加するため、サーバーのパフォーマンスも向上します。コンパイルキャッシュとは何ですか?後で言うよ。まず、PHP でスクリプト ファイルをコンパイルするために必要な 2 つの手順について説明します。
1 PHP エンジンはスクリプト ファイルを読み取り、スクリプトを解釈し、ZEND エンジンで実行可能な中間コードを生成します。
2 ZEND は 2 番目の中間コードの実行を開始します。時間
注意する必要があります。最初のステップは、PHP スクリプト ファイルが要求されるたびに繰り返されるものです。 さらに、スクリプトには include()require() eval() が含まれているため、このプロセスは最初のステップを再帰的に繰り返します。どれだけの消費が伴うか想像できるだろう。特にPHPファイルが大きい場合。では、なぜ PHP ファイルを作成するときに多すぎる行を承認しないことが推奨されるのでしょうか。
もう誰もが理解するでしょう。実際、最初のステップについては何かできるはずです。解釈ファイルの最初のステップで、解釈されたコードを共有メモリにキャッシュするとします。このスクリプトに 2 番目のリクエストがある場合は、最初のステップをスキップして、2 番目のステップに直接進むことができます。最初のステップがすでにメモリにキャッシュされているためです。
比較するために写真を見てみましょう
まずコンパイル済みキャッシュを使用した場合の状況を見てみましょう
それでOKです。右。コンパイル キャッシュを使用すると、多くの回り道が回避されます。 これは、コード内に include と require が多数ある場合に特に効果的です。
ここで 3 つのコンパイル キャッシュを紹介します。
1 ionCube Accelerator はオープン ソースではありません。
2 TheZendAccelerator はお金が欲しいです。貧乏です
3 APC お金もかからないのでこれが一番のお気に入りです。効果はかなり良いです
APC
のインストールについてお話しましょう、おそらくこんな感じです。 pear でインストール
#pear install apc
php.ini を変更して拡張機能を追加
extension = /path/to/apc.so
OK とても簡単です。しかし、PHP を再度実行すると。この APC はすでに有効です。コンパイルされたコードは共有メモリにキャッシュされます。かっこいい。
ウィンドウの場合は、この拡張機能を探してください。
APC のインストール後、APC のさまざまなパラメーターを調整する必要があります。 もちろん、これは独自のプロジェクト環境に応じて調整する必要があります。
http://www.bkjia.com/PHPjc/824953.html