2017-06-16 27 views
2

私のajaxアプリケーションのパフォーマンスの問題をデバッグしています。PHPページの待ち時間

Firefoxデベロッパーツールは、待ち時間として約3秒を表示します。

getrusage() 'ru_utime.tv_sec'と 'ru_utime.tv_usec'でphpスクリプトを測定しようとすると、スクリプトの開始時にランダムに0.2〜9秒が得られ、スクリプトの開始と終了の差は約0.07秒です。

どのようにこれらの結果を解釈しますか? PHPコード自体が0.07秒間実行され、残りの時間がSQLクエリなどであることを意味しますか? (私は実際に私のスクリプトで多くの複雑なクエリを持っています)

あるいは、実際のP​​HPコードを実行する前にapacheまたはPHPインタープリタが何かをしているのですか?

サーバーの障害ではないかもしれませんが、ajaxとjqueryですか?

debian。 PHPのバージョンは5.4、Apache 2.2、jquery 1.11です。

更新: 申し訳ありませんが、私は重要な情報を忘れていました。私はページから複数のajaxリクエストを実行しています。私が別々に1つのリクエストを実行すると、待ち時間は0.6秒になります。

+0

TTFB時間は一貫していますか? –

+0

はい、私はTTFBが一貫していると思います。 "+2.24各リクエストの開始からの開始時間の要求"。 – Andrei

答えて

1

localhostを使用していますか?もしそうならチャンスは遅くなります。速度が大幅に向上した場合は、PHP 7にアップグレードしてください。あなたがより良いパフォーマンスを望むなら、Apache、nginxに切り替えてください。 Apacheは4x4のようなもので、必要なものがすべて入っています.nginxはフェラーリのようなものですが、それほど必要ではありません。

jQueryはバージョン3になっていますが、古いバージョンを実行しています。

+0

Debianディストリビューションとサーバを管理している私の同僚は少し保守的です。私はいつでもすぐに最新のphp(またはmysql 5.6.3 +を使用するとクエリのパフォーマンスが大幅に向上します)を得ることはできません。( – Andrei

+1

php 5.4は潜在的なセキュリティ上のリスクで、人生は終わり、1年以上続いています。彼が控えめにPHP 5.4にとどまることのリスクとアップグレードの利点について助言する文書をまとめると、iirc 7は5.xより少ないリソースも使用します。 – Ian

0

したがって、getrusage()はPHPコード自体の実行時間だけを測定します。 クエリストリームなどを測定したい場合は、リアルタイムで測定する必要があります。

$GLOBALS["mymicrotime"] = microtime(true); 
//code here 
print_r(microtime(true) - $GLOBALS["mymicrotime"]); 

Interbase/Firebirdクエリで何らかの種類のロックが発生するため、パラレルスクリプトの実行時間が0.6秒ではなく3秒になります。

関連する問題