【问题标题】:How to determine the size of current output如何确定电流输出的大小
【发布时间】:2012-04-09 21:50:01
【问题描述】:

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

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

现在,我知道我可以使用 ob_*() 系列函数来处理输出缓冲区,但我已经在脚本中的多个地方使用了这些函数,我不想受到性能影响在一切之上添加另一层时。

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

谢谢!

【问题讨论】:

    标签: php performance logging buffer


    【解决方案1】:

    到目前为止,PHP 不会对您发送给客户端的内容进行内部计数(这将在所有内容之上添加另一层,即使对于那些不需要此功能的人也是如此),因此您无能为力除了在发送之前使用输出缓冲函数来收集内容。

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

    【讨论】:

    • 我是这么认为的,只是希望在浏览文档时可能有什么东西从我的手指间溜走了。我将尝试在系统中构建某种计数器,而不添加额外的输出缓冲层。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多