2012-03-26 11 views
1

私はロギング機能を実装しています。PHPスクリプトへのリクエストがクライアントに返すデータの量を把握したいと思います。現在の出力のサイズを調べる方法

基本的には、要求がかかった時間(microtime()関数を使用)、ピーク時に使用されたメモリ量(memory_get_peak_usage()関数を使用)、およびデータ量クライアントに返されました(実際にはクライアントに送信されていなくても、スクリプト出力がどのくらいのデータを生成するか)。これは基本的に私のスクリプトが要求ごとに生成する可能なおおよその帯域幅を計算することを可能にします。

出力バッファを処理するob_ *()シリーズの関数を使用できることはわかっていますが、すでにスクリプト全体でこれらの関数を複数の場所で使用しており、パフォーマンスに苦しみたくありませんすべての上に別のレイヤーを追加するとヒットします。

PHPで使用できる関数はありますか?これは、スクリプトのどの時点でも、今までのスクリプトで生成された出力データの量を教えてくれますか?

ありがとうございます!

答えて

1

PHPはこれまでにクライアントに送信した内容(これは、この機能を必要としない人でも、すべての上に別の層を追加する)を内部的に保持しないため、何もできませんコンテンツを送信する前に出力バッファリング関数を使用してコンテンツを収集することを除いては同じです。

実際にあなたのスクリプトの出力バッファリングをラッピングしてみて、パフォーマンスの違いが受け入れられないと感じましたか?

+0

私はそう思っていました。ドキュメンテーションを読むときに何かが私の指を滑ってしまったと思っていました。追加の出力バッファ層を追加せずに、システム内に何らかの種類のカウンタを構築しようとします。ありがとう! – kingmaple

関連する問題