【问题标题】:How to measure speed of php scripts independantly of eachother? Various Methods?如何相互独立地测量php脚本的速度?各种方法?
【发布时间】:2011-06-20 04:50:00
【问题描述】:

在我的网站上,各种 php 代码由我从他们那里购买项目脚本的各种程序员运行。有些使用会话(会话开始等...) 一些使用外部包含 php 文件并在其中进行数学运算并返回或回显某些内容。有些仅在被要求时运行,例如搜索脚本。

Is there an easy way for me to monitor, temporary, all the various scripts's their delays in millisecond sothat I can see whats going on below the water?

我曾经见过一个程序员在做某事,在页面下方有这些长长的句子列表和各种 ms 数字等。

第一季度。是否有用于此的默认 php 函数?我如何调用/切换它?
Q2.进行此类计算的各种方法是什么?
Q3.它们有多可靠?这些毫秒理论还是实际的真实世界结果?

感谢您的洞察力! 山姆

【问题讨论】:

    标签: php time performance delay


    【解决方案1】:

    最简单/最快的方法是安装支持分析的调试扩展,例如XDebug。然后,您可以运行一个分析工具(例如:KCachegrind)来分析您的脚本,绘制结果图,并找出占用最多内存、执行时间等的内容。

    它还提供各种其他功能,如堆栈跟踪等。

    【讨论】:

    • 让我想起了 SpaceMonger,它创建了硬盘使用的图形表示。这可以在共享主机上实现吗?如果在共享主机上允许的话,安装看起来非常复杂? +1
    • 这取决于您的托管服务提供商。有些可能允许您加载扩展/重新编译,有些可能已经加载。不幸的是,在大多数情况下,情况并非如此。我所知道的是 Dreamhost 可能允许您这样做。除此之外,我不知道。
    【解决方案2】:

    如果您运行的是 Apache 网络服务器,那么您应该拥有apache benchmarking tool,它可以提供有关脚本时间的一些非常准确的信息,甚至可以模拟并发用户的数量。

    从网络浏览器中,Firefox 的 Firebug 扩展也可以用作查看您自己的请求需要多长时间的工具。

    这些方法都不是纯粹的 PHP 代码计时器

    【讨论】:

    • 谢谢马克,我害怕没有访问权限,但您的最高精度提示是 +1
    【解决方案3】:

    没有我能想到的默认方法。但这很简单。在脚本的开头只需放置以下内容:

    $s = microtime(true);
    

    最后

    $e = microtime(true);
    echo  round($e - $s, 2) . " Sec";
    

    通常你会保留 round() 的第二个参数,但如果你发现你的脚本将时间报告为 '0 秒' 增加数字直到你得到答案。check this for more

    【讨论】:

    • 非常简单!非常感谢你 ayush +1,我现在得到一个数字,当我将开始放在顶部并在最底部结束时,我得到 0,02 现在,我怎样才能沿途放置多个回声,这样它会给我一个沿途的旅程日志会增加延迟,或者更好的是,每个部分的时间值都是独立的?
    • 谢谢我忽略了超链接!伟大的认为这对我现在的使用来说很好......
    • 只需在脚本中的任何位置使用 microtime(),然后对与 $s 的差异进行舍入()。使用更大的值而不是 2 以获得更高的精度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多