【发布时间】:2011-12-09 19:52:10
【问题描述】:
我目前的一台服务器运行缓慢。它使用 PHP 和 MySQL 运行 apache2 服务器。 MySQL 服务器与网络服务器本身托管在同一台机器上。
每当我请求一个包含 MySQL 查询的 PHP 文件时,页面大约需要 24 秒才能显示出来。在请求页面时,apache2 的 CPU 使用率上升了 11% (!),这与一周前相比已经有了很大的提升。
非 PHP 文件或没有 MySQL 查询的 PHP 文件会立即显示。
什么可能导致包含 MySQL 查询的脚本出现问题? 我无法在 apache 错误日志中找到任何有用的信息。
【问题讨论】:
-
您可以访问 MySQL 日志吗?
-
我可以访问整个服务器。不幸的是,我不确定在 Debian 下日志保存在哪里。目录 /var/log/mysql 是空的,因此我假设它将它们存储在其他地方。并且文件 /var/log/mysql.err 和 mysql.log 是空的。
-
查询大小会影响响应时间吗?也就是说,如果你写一个不接触任何表格的简单标识,是否仍然需要半分钟才能响应?
-
我尝试手动执行几个 MySQL 查询,当我通过终端登录 MySQL 服务器时,它们的响应非常快。但是,当我通过 PHP 脚本执行它们时它们非常慢,需要很长时间才能响应。
-
只用 db 连接代码和单个查询创建一个隔离的 PHP 页面并运行它,然后在终端中运行相同的查询,看看速度是否有任何差异......