【问题标题】:How to get php page load time statistics?如何获取php页面加载时间统计信息?
【发布时间】:2011-04-26 17:04:54
【问题描述】:

最近,我们的 LAMP 设置出现问题,我们开始看到 MySQL 数据库连接的数量不时增加。我们怀疑某些 mysql 操作比平时花费的时间更长,而 apache 刚刚开始建立一个积压的连接来处理传入的请求。

问题是,有没有办法按页面统计平均加载时间等信息?中值加载时间?每个 php 页面(page1.php、page2.php、page3.php 等)的最大/最小加载时间。这样我们就可以缩小问题所在。是否有这样的东西作为 apache 的一部分?也许是一个单独的模块?

【问题讨论】:

    标签: php apache http statistics lamp


    【解决方案1】:

    如果你可以访问 php.ini,你可以使用 Xdebug :http://xdebug.org/

    【讨论】:

      【解决方案2】:

      log format,您可以在访问日志中记录所用时间(%D),然后在事件发生后,对所用时间进行排序,并检查网址。我不知道有任何应用程序可以开箱即用地进行检查,但是很多应用程序都可以处理 apache 的访问日志,因此很有可能有人可以使用它。我很少查看特定页面的日志,只查看服务器总数,所以我无法帮助您。

      如果 MySQL 很忙/原因:

      1. 如果您完成了与 MySQL 的连接,请关闭它,以便更快地释放连接。
      2. 如果确实需要,请增加允许的最大连接数。
      3. 如果您仍有挂起的进程,请检查SHOW FULL PROCESSLIST 的输出以查看正在执行的查询。
      4. 您可以启用slow_query_log,记录所有超过一定毫秒数的查询(在较新版本中,旧版本仅支持秒数)或不使用索引。命令行工具mysqldumpslow可以准确的对查询进行分组/统计。

      【讨论】:

      • 值得注意的是,虽然我相信这是 OP 应该关注的指标,但 %D 衡量的是单个 URL 的时间 - 而不是页面,并且 (IIRC) 它衡量的是接收请求并卸载响应 - 这与生成响应所需的时间不同。
      • 如果问题是“我怎样才能获得准确的统计数据”,那您就完全正确了。但是,问题只是:如何跟踪长时间运行的进程,这非常适合。
      • 对我来说%T 是一个更好的时间记录器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 2021-03-10
      • 2011-03-28
      • 2023-01-04
      • 1970-01-01
      相关资源
      最近更新 更多