タイトルの言い方が本当にわからなかったので、できる限りのことをしました。
最終的なスクリプト (Web ベース) の実行時間を計算する際に問題があります。
私たちは簡単なことをします
if(time()-$_SERVER['REQUEST_TIME']>X){
logMe();
}
スクリプトの実行に X 秒以上かかる場合があることがわかりました。
これは、mysql、memcached、sphinx、またはその他の通常の原因の問題ではないことを 100% 確信しています。お願いします...それが「私たちの側の何か」ではないと仮定してください。
負荷の高い処理が行われ、まだいくつかのヒットが発生する前に、この単純な実行時間チェックをスクリプトの途中に追加しました。主に遠く離れた海外のお客様。
だから私はこれが何らかの形で出力バッファに関連しているに違いないと考えています。
したがって、質問は次のとおりです。
PHP + Apache では、出力バッファはどのように機能しますか? あなたが次のものを持っているとしましょう:
[ 10KB HTML Body Head ]
[ Mysql query #1 ]
[ 50KB HTML Body ]
[ Mysql query #2 ]
[ 20KB HTML Body Footer ]
この例では、最大 2KB/秒のクライアント接続があるとします。
したがって、最も理想的な状況では、 「HTML Body Head」を受信するのに 5 秒かかります。
「Mysql クエリ #1」が実行されるまでに 5 秒かかるということですか?
私はあなたがアイデアを得ると思います。クライアント接続が遅いと、スクリプトの処理にかかる時間に影響しますか?
さらに: php.ini 設定はこれに影響しますか? また、flush()/ob_flush() は行いますか?
ありがとう。