我接管了一个基于Drupal严重修改版本的应用程序。最后一位开发人员做得不好。至少在第一眼看到我看到很多猴子修补和你永远不应该做的事情(密码文件,在公共网页文件夹中称为password.txt等)。
该应用程序非常慢。我想这是由错误的代码引起的(因为它不会加载大型资产),我猜它必须与MySQL相关 - 但我不确定。
由于未记录应用程序,寻找瓶颈的最佳和最快方法是什么?有什么工具可以帮助我吗?我应该从哪里开始?
我拉了一个版本在Mac上本地运行它,也许这会让事情变得更容易。
答案 0 :(得分:1)
如果您怀疑是mysql查询,请在mysql中打开log-slow-queries
并将long_query_time
设置为低值,例如0.010秒。或者,您可以为所有查询转换查询日志:
general_log=1
general_log_file="query.log"
然后xdebug具有分析能力。
答案 1 :(得分:0)
因为我正在使用MAMP,所以我认为我分享了我检查MySQL查询所做的工作。 注意:只能用于测试目的。或者定期清理日志文件,它们会累积起来。
我在MAMP中编辑了my.cnf for MySQL,并在Mysqld部分添加了以下行
# The MySQL server
[mysqld]
# Some other configuration will be here
# ADD THE FOLLOWING LINES
slow-query-log = 1
slow-query-log-file = /Applications/MAMP/logs/mysql_slow.log
long_query_time = 0.001
log-queries-not-using-indexes
general_log=1
general_log_file= /Applications/MAMP/logs/mysql_query.log
log = /Applications/MAMP/logs/mysql_sql.log
然后只需进入/ Applications / MAMP / logs /文件夹并使用
进行观察tail -f ./mysql_slow.log
发生了什么事。