PHP からブラウザにランダム データをエコーしているとします。ランダム データの総量は約 XGb で、エコーは YKb チャンクで行われます。ob_start() は使用されません。PHP および Apache バッファがいっぱいになった後、エコー呼び出しはブロックされますか (クライアントは、生成されたのと同じ速度でデータを消費できません)? その場合、PHP および Apache バッファのサイズはどのくらいですか? プロセスを正しく理解していますか?
- PHP エコーは、いっぱいになるまでバイトを PHP 出力バッファーに送信しています。その後、一部のバッファがApacheに送信されてクリアされるまで、エコーがブロックされ始めます
- PHP は、Apache バッファがいっぱいになるまで、出力バッファからデータを送信しています。その後、Apache は PHP からのデータの受信を停止し、バッファーの一部がクライアントに送信されてクリアされるまで待機します。
追伸: 私が達成しようとしているタスクの愚かさに驚かれる場合は、特定のトラフィック ルールが適用された専用サーバー用の小さなトラフィック バランシング スクリプトを書いていると言えます (IN/OUT トラフィックの比率を特定の値に保つ必要があります)。 )。