php - 如何获取php页面加载时间统计信息?

标签 php apache http statistics lamp

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

问题是,有没有办法对每页的平均加载时间等进行统计?平均加载时间?每个 php 页面(page1.php、page2.php、page3.php 等)的最大/最小加载时间。这样我们就可以缩小问题的范围。 apache 中是否包含这样的东西?也许是一个单独的模块?

最佳答案

来自log format ,您可以只在您的访问日志中记录花费的时间 (%D),并且在事件发生后,对花费的时间进行排序,并检查 url。我不知道有哪个应用程序可以开箱即用地检查这个,但是很多应用程序可以处理 apache 的访问日志,所以很可能有人可以使用它。我很少查看特定于页面的日志,只查看服务器总数,所以我无法在这方面为您提供帮助。

如果MySQL忙/原因:

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

关于php - 如何获取php页面加载时间统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3955507/

相关文章:

linux - Magento:有趣的网址

apache - 如何在 Apache 中为客户端证书添加自定义错误?

regex - 阻止访问以 ~ 开头的文件夹及其所有文件夹/文件

javascript - 将 PHP session 变量发送到另一个文件的 javascript

php - Bootstrap 中表中行中的信息错位

java - Feign Client 不解析 Query 参数

http - 当由于特定原因不允许 DELETE 操作时返回哪个 HTTP 状态码

angularjs - 使用 Angular 将数据发布到 Moodle API

php - 使用 fsockopen 检索页面将数字添加到返回的字符串

php - 如何使用一个表中的条件并更新另一表中的记录