确定PHP / MySQL应用程序中性能瓶颈的最佳实践(Drupal)

时间:2014-09-09 09:22:49

标签: php mysql performance drupal

我接管了一个基于Drupal严重修改版本的应用程序。最后一位开发人员做得不好。至少在第一眼看到我看到很多猴子修补和你永远不应该做的事情(密码文件,在公共网页文件夹中称为password.txt等)。

该应用程序非常慢。我想这是由错误的代码引起的(因为它不会加载大型资产),我猜它必须与MySQL相关 - 但我不确定。

由于未记录应用程序,寻找瓶颈的最佳和最快方法是什么?有什么工具可以帮助我吗?我应该从哪里开始?

我拉了一个版本在Mac上本地运行它,也许这会让事情变得更容易。

2 个答案:

答案 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 

发生了什么事。