最近我们的LAMP设置出现了问题,我们开始看到MySQL数据库连接的数量不时出现增长。我们怀疑某些mysql操作比平时花费的时间更长,并且apache刚刚开始构建积压的连接来处理传入的请求。
问题是,对于平均加载时间这样的事情,每页的统计数据是否有办法?中位加载时间?每个php页面的最大/最小加载时间(page1.php,page2.php,page3.php等)。这样我们就可以缩小问题所在。作为apache的一部分包含这样的东西吗?也许是一个单独的模块?
答案 0 :(得分:2)
从log format,您只需记录访问日志中的时间(%D
),并在事件发生后按时间排序,并检查网址。我不知道任何开箱即用的应用程序,但很多应用程序可以处理apache的访问日志,所以有可能有人可以使用它。我很少查看特定于页面的日志,只查看服务器总数,所以我无法帮助你。
如果MySQL忙/原因:
SHOW FULL PROCESSLIST
的输出以查看正在执行的查询。slow_query_log
,将所有查询记录在一定数量的毫秒之内(在较新版本中,旧版本仅支持秒数)或不使用索引。命令行工具mysqldumpslow
可以准确地对查询进行分组/计数。答案 1 :(得分:0)
如果您有权访问php.ini,则可以使用Xdebug:http://xdebug.org/