最近我们的 LAMP 设置出现了问题,我们开始看到 MySQL 数据库连接的数量时不时地激增。我们怀疑某些 mysql 操作比平时花费的时间更长,而 apache 刚刚开始建立连接积压以处理传入请求。
问题是,有没有办法对每页的平均加载时间等进行统计?平均加载时间?每个 php 页面(page1.php、page2.php、page3.php 等)的最大/最小加载时间。这样我们就可以缩小问题的范围。 apache 中是否包含这样的东西?也许是一个单独的模块?
最佳答案
来自log format ,您可以只在您的访问日志中记录花费的时间 (%D
),并且在事件发生后,对花费的时间进行排序,并检查 url。我不知道有哪个应用程序可以开箱即用地检查这个,但是很多应用程序可以处理 apache 的访问日志,所以很可能有人可以使用它。我很少查看特定于页面的日志,只查看服务器总数,所以我无法在这方面为您提供帮助。
如果MySQL忙/原因:
- 如果您完成了与 MySQL 的连接,请关闭它,以便尽快释放连接。
- 如果确实需要,请增加允许的最大连接数。
- 如果您仍有挂起的进程,请检查
SHOW FULL PROCESSLIST
的输出以查看正在执行的查询。 - 您可以启用
slow_query_log
,记录超过一定毫秒数的所有查询(在新版本中,旧版本仅支持秒)或不使用索引。命令行工具mysqldumpslow
可以对查询进行精确分组/统计。
关于php - 如何获取php页面加载时间统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3955507/