我在我的 VPS 上运行一个 wordpress 博客,但是 MySQL 查询花费了太多时间。
例如,从数据库加载一篇文章需要超过 1.5 秒。
但是我的服务器上的 CPU 和 RAM 使用率很低。我有 2GB RAM,其中 1.2GB 目前是空闲的。而且 CPU 使用率低于 5%。
我正在IIS 7.5
上运行Windows Server 2008 R2 Datacenter edition (64-bit)
,并MySQL 5.5
在其上安装了。(机器上还安装了 MS SQL 2012 Express,但大多数时候处于非活动状态)
PHP 在我的服务器上运行很快,但 MySQL 查询似乎太慢了。
我也尝试过从 phpmyadmin 优化数据库,速度有所改善,但仍然太慢。
在 Windows VPS 上这正常吗?如何提高 MySQL 性能?
更新:我读到过一些文章说127.0.0.1
该主机比 运行得更好localhost
,我127.0.0.1
现在正在使用,但数据库查询仍然太慢。
更新 2:这是我的 VPS 上的 HDD 基准测试:
另外还有另一个 HDD 基准测试工具的报告:
- 使用 256 KB 缓冲区读取 50 MB 文件:
读取 52,428,800 B (50 MB) - 200 个块
成功:52,428,800 B(50 MB)
时间:1.329
速度:39,463,373 B/秒(37.6 MB/秒)
- 使用 32 KB 缓冲区读取 50 MB 文件:
读取 52,428,800 B (50 MB) - 1,600 个块
成功:52,428,800 B(50 MB)
時間:10.873
速度:4,821,734 B/秒(4.6 MB/秒)
- 使用 1 KB 缓冲区读取 50 MB 文件:
读取 52,428,800 B (50 MB) - 51,200 个块
成功:52,428,800 B(50 MB)
时间:1:06.395
速度:789,648 B/秒(771 KB/秒)
答案1
我认为这可能是因为表没有正确索引。取出几个运行缓慢的查询,然后对其运行 EXPLAIN,以查看每次检查了多少行。
另外,127.0.0.1 与 localhost 是正确的,因为它节省了 DNS 查找,但根据您的描述来判断,这不太可能是问题。