PHP + MYSQL站点性能

Modified on: Tue, 13 Aug 2019 22:20:03 +0800

我必须管理一个非我开发的网站。它是在PHP中使用mysql数据库,它位于Web服务器中。该网站有时(当访问者增加太多时)停止响应,或响应太慢。

我用PHP开发了一些网站,但从未负责管理,所以真的不知道从哪里开始。服务器(硬盘)似乎很好,当网络停止响应时,cpu的使用率约为55%并且内存很多。

我不是要求某人解决这个问题。我真的很想,如果有人可以给我一些提示,我可以在哪里找到日志,我应该如何阅读和解释它们。所以,这样我就可以知道它的净流量,数据库(查询)或者是什么。

谢谢!

更新:忘了说:它是Windows Server 2003。

注意:我用Jet Profiler记录了大约一天。我并不真正理解它提供的所有信息,但有一个查询标记为非常慢。这是有道理的,因为它是一个带有where子句的select,它有三个相似的条件。最初我没有在我的问题中包含这个,因为当我从MySQL查询浏览器运行查询时,它不需要任何长时间。它不到0.01秒。

最佳答案

通常是数据库会减慢网站速度。很可能你有一些写得不好/没有索引的查询,这些都是导致速度放缓的原因。在MySQL中,您可以通过打开慢查询日志

通常这涉及以下步骤:
  1.在MySQL日志文件夹中创建一个名为slowqueries.log的文件,通常是/var/log/mysql/。使用chmod将其权限更改为用户mysql(假设您使用的是Linux)。
  2.以root身份登录我的sql并发出以下查询:
set GLOBAL slow_query_log_file='/var/log/mysql/slowqueries.log'; -- sets the log file
SET GLOBAL slow_query_log=1; -- turns on slow query logging

一旦确定执行时间太长的查询,就可以使用EXPLAINEXPLAIN EXTENDED进一步分析它们,看看如何优化它们,通常是通过添加索引/改进连接。

作者:jeshurun

相关问答

添加新评论