ホームページ  >  記事  >  バックエンド開発  >  PHP Web サイトの実行を高速化する ---PHP_PHP チュートリアルを最適化する方法

PHP Web サイトの実行を高速化する ---PHP_PHP チュートリアルを最適化する方法

WBOY
WBOYオリジナル
2016-07-13 17:33:43844ブラウズ


PHP(現在の主流の開発言語として)は非常に高速に実行されるプログラミング言語ですが、コードを最適化するだけではなく、php(現在の主流の開発言語として)自体を最適化する価値は依然としてあります。

この記事では、なぜコードを最適化するよりもphp(現在主流の開発言語)自体を最適化する方が適切なのか、そしてなぜphp(として)の基礎を理解する必要があるのか​​を実践結果に基づいて説明していきます。現在の主流の開発言語) サーバー上の他の関連サブシステムのパフォーマンスのボトルネックを見つけて修正します。同時に、php(現在の主流の開発言語として)コードを最適化して実行速度を速くする方法についても説明しました。

高いパフォーマンスを得る
優れたパフォーマンスについて話すとき、多くの場合、PHP(現在の主流の開発言語として)コードの実行速度だけを指すわけではありません。パフォーマンスは、定量化可能な測定値と速度の間の一連のトレードオフです。単に少ないリソースの使用に依存するコードは、キャッシュ内で実行されるコードよりも実行が遅くなる可能性があり、同じコード セット (キャッシュ内で実行される) が Web サーバー上で同時に実行される可能性があります。
以下の例では、A.php(現在の主流の開発言語として)はできるだけ速く走るランナーとしてカウントされ、B.php(現在の主流の開発言語として)は走れるマラソンランナーとしてカウントされます。ほぼ永遠に同じゆっくりとしたペースで。負荷が軽い場合は、A.php(現在の主流の開発言語)は十分に高速ですが、トラフィックが増加すると、B.php(現在の主流の開発言語)のパフォーマンスは少しずつ低下するだけです。少しすると、A.php(現在の主流の開発言語として)は崩壊するでしょう。

PHP Web サイトの実行を高速化する ---PHP_PHP チュートリアルを最適化する方法

この言葉のより深く本質的な意味を、事実を通して検証してみましょう。 250K ファイルを読み取り、ファイルの HTML 概要を生成する必要があるとします。同じことを行うために 2 つのスクリプトを作成しました。hare.php (現​​在の主流の開発言語として) はファイル全体を一度にメモリに読み込み、1 ステップで実行します。もう 1 つは、tortoise.php(do For現在の主流の開発言語) 一度にファイルの 1 行のみを読み取り、コンテンツ容量を超えることはありません。その結果、Tortoise.php(現在の主流の開発言語として)は、複数の読み取りと書き込みにより多くのシステム応答が必要となるため、はるかに遅くなります。 「
プログラムが実行されるたびに、hare.php(現在の主流の開発言語として)は0.04秒のCPU実行時間と10Mbのメモリを必要としますが、tortoise.php(現在の主流の開発言語として)には0.06秒のCPU実行時間が必要です」サーバーには合計 100MB の実際のメモリ容量があり、そのような単純なイベントの実行によってメモリの断片化が発生しないと仮定します。 hare.php
(現在の主流の開発言語として)にはメモリオーバーフロー(10 × 10 = 100)が発生しますが、同時に、tortoise.php(現在の主流の開発言語として)にはまだ50MBの空き領域があります。複数のプログラムを同時に実行すると、仮想メモリの使用が必要になるため、hare.php(現在の主流の開発言語として)が完全に「崩壊」します。実行速度は通常の半分以下に低下する可能性があります。速度も向上し、単一プログラムのプロセスごとに 0.08 秒の CPU 実行時間が必要になります。この期間中、tortoise.php (現​​在の主流の開発言語として) は通常の CPU 実行時間 (0.06 秒) でまだ実行されています。
次の表では、より高速に実行されるphp(現在の主流の開発言語として)スクリプトを太字で区別しています。 ----------------------------------------------- --- -----------------------
| 接続数 | HTTP リクエストごとに必要な CPU 実行時間 (秒) 10 個の HTTP リクエストごとに必要な CPU 実行時間(秒) | 11 回の HTTP リクエストの実行に必要な CPU 実行時間 (秒) | ------------------------------------------------ ---- ------
| hare.php
(現​​在の主流の開発言語として)
| ---------- ------- -------------------------------------- ------- ------------------------ (現在の主流の開発言語として) | 0.60 | -------------------------------------- ----- --------------------------------------
もしいるなら上記の例 でわかるように、パフォーマンスを向上させることは、もはや、より高速に実行される php
(現​​在の主流の開発言語として) プログラムを作成することだけではありません。高性能 php (現​​在の主流の開発言語として)
のパフォーマンスを実現するには、基礎となるハードウェアの知識、オペレーティング システム、Web サーバーやデータベースなどのソフトウェア サポートについての十分な知識と理解を必要とします。
ボトルネック 上記の 2 つの例では、(パフォーマンスの)低下のボトルネックがわかります。無限に大きなメモリがある場合、hare.php
(現在の主流の開発言語として)
は、tortoise.php(現在の主流の開発言語として)よりも確かに高速です。ただし、メモリが php
(現​​在の主流の開発言語として) の全体的なパフォーマンスのボトルネックであると考えるのは単純すぎます - 実際には、それをはるかに超えています: (a) ネットワーク あなたのネットワークは、ボトルネックがそこにあります。 10M の帯域幅がある場合、最大でも 1M/秒の転送速度しか得られません。各 php(現在の主流の開発言語として)
ページが 30k であると仮定すると、1 秒あたり 33 ページを転送するだけでネットワーク帯域幅が飽和します。ボトルネックを引き起こすその他の要因には、低速の DNS への頻繁なアクセスや、非常に限られたストレージにしかアクセスできないネットワーク デバイスなどがあります。

(b) CPU
CPU 負荷を監視する場合、純粋に静的な HTML ページを送信しても CPU 負荷は増加しません - 上で述べたように、現時点でのボトルネックはネットワークです。もちろん、php(現在の主流の開発言語として)
によって生成された複雑な動的ページの場合、CPU 速度は当然のことながら制限要因の 1 つになります。複数の CPU またはサーバー アレイを備えたサーバーを使用すると、CPU の影響が軽減されます。


http://www.bkjia.com/PHPjc/508602.htmlwww.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/508602.html技術記事 PHP (現在の主流の開発言語として) は非常に高速に実行されるプログラミング言語ですが、コードを最適化するだけと比較して、(現在の主流の開発言語として) PHP を最適化する価値はあります...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。