如何确定当前输出的大小

时间:2012-03-26 11:32:51

标签: php performance logging buffer

我正在实现日志记录功能,我想跟踪对PHP脚本的请求返回给客户端的数据量。

基本上我想在我的函数末尾添加一个记录器来确定请求所用的时间(使用microtime()函数),峰值时使用了多少内存(使用memory_get_peak_usage()函数)以及有多少数据是返回到客户端(基本上我的脚本输出生成了多少数据,即使这实际上没有发送到客户端)。这允许我基本上计算我的脚本每个请求生成的大概可能带宽。

现在,我知道我可以使用ob _ *()系列处理输出缓冲区的函数,但是我已经在脚本中使用这些函数了很多地方而且我不想受到性能损失的影响在所有内容上添加另一层时。

我是否可以在PHP中使用一个函数,告诉我脚本中的任何一点到目前为止我的脚本生成了多少输​​出数据?

谢谢!

1 个答案:

答案 0 :(得分:1)

PHP没有保留到目前为止发送给客户端的内部计数(这将在所有内容之上添加另一层,即使是那些不需要此功能的人),所以你无能为力除了使用输出缓冲功能在发送之前收集内容。

您是否真的尝试在脚本周围包含更多输出缓冲,并发现性能差异无法接受?