PHPインクルードクラスファイルのタイムアウト問題の対処_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:07:47
オリジナル
894 人が閲覧しました

PHPインクルードクラスファイルのタイムアウト問題の対処

最近、PHPのスロークエリログを追跡していると、プログラムが特定のクラスファイルをインクルードするときにスタックしていることがわかりました。そして実際にタイムアウトしてしまいました。

当初の位置付けは、io応答がタイムアウトし、ハードディスクの読み取りに問題が発生したということです。

いくつかのコマンドを使用して検索します:

iostat -d -x -k 1 10 // 10 回実行して、iostat の wait パラメーターが非常に大きく、通常は 5ms 以下であることを確認します。await svctm の 2 つのパラメーターが近いほど、io のパフォーマンスが向上します。 。

他のブログを参照してください

await: 各IOリクエストの平均処理時間(単位はマイクロ秒、ミリ秒)。これは IO 応答時間として理解できます。通常、システム IO 応答時間は 5 ミリ秒未満である必要があり、10 ミリ秒を超える場合はさらに大きくなります。

この時間にはキュー時間とサービス時間が含まれます。つまり、通常の状況では、両者の差が小さいほどキュー時間は長くなります。キュー時間。これは、システムに問題が発生したことを意味します。 svctm は、各デバイス I/O 操作の平均サービス時間 (ミリ秒単位) を表します。 svctm の値が await に非常に近い場合は、待機している I/O がほとんどなく、ディスクのパフォーマンスが非常に優れていることを意味します。 await の値が svctm の値よりもはるかに高い場合は、I/O が待機していることを意味します。 O キューの待機時間が長すぎると、システム上で実行されているアプリケーションの速度が低下します。

sudo iotop -o, // ハードディスク上に割り当てられているプログラムを確認し、プロセスのio占有率を確認する

sudo perf top // プロセスIO使用率を確認する

sudo hdparm -t /dev/**** ディスク読み取り効率をチェック

表示: バッファリングされたディスク読み取りのタイミング: 3.14 秒で 10 MB = 3.18 MB/秒

中断されない睡眠を見る

、 do date; ps auxf | '{if($8=="D") print $0;}';

上記のコマンドを実行したところ、ハードディスクの読み取り効率が非常に低くなりました。これは、ハードディスクに不良セクタがある可能性があると推測されます。

http://www.bkjia.com/PHPjc/954520.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/954520.html技術記事 PHPインクルードクラスファイルのタイムアウト問題への対処 最近、PHPスロークエリログを追跡すると、クラスファイルをインクルードする際にプログラムがスタックし、実際にタイムアウトしてしまうことが分かりました。アウト...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート