Mysql 非常慢,开箱即用的配置

Mysql 非常慢,开箱即用的配置

我刚刚在 VPS 上安装了 AMP 堆栈。我登录到 mysql 控制台,发现查询速度非常慢。一个更新查询,针对约 200 行的表中的 1 行,需要 0.5 秒才能完成(在我的 Windows 笔记本电脑上,同样的查询需要 0.001 秒才能完成)。

我认为这与 VPS 没有足够的资源有关,但在做了一些基准测试之后,即 I/O:

1073741824 bytes (1.1 GB) copied, 14.207 s, 75.6 MB/s

avg-cpu:  %user   %nice %system %iowait  %steal   %idle  
           0.01    0.00    0.00    0.03    0.00   99.96

以及 PHP 基准测试脚本,似乎资源没有问题。PHP 基准测试脚本在 5 秒内完成,而我的配备 SSD 的 i7 笔记本电脑花了 17 秒才完成。

知道可能哪里出了问题吗?

答案1

一些测试和问题太长而无法评论:

您使用什么引擎来制作这张表(SHOW CREATE TABLE tablename\G请在底部寻找 ENGINE)?

缓存预热后性能是否会提高(也就是说,如果使用略有不同的更新数据运行两次查询,第二次运行是否会更快)?

你能列出你的 my.cnf 的内容吗?

strace -cp $(pidof mysqld)在运行 的同时运行 ,您会得到什么UPDATE?为此,请运行 strace ,然后运行查询,然后在 strace 上按 CTRL-C 。它会吐出一些非常方便的值。

如果只能让我猜一次,我会猜你没有 skip-name-resolve,并且你连接的地址既不响应反向 DNS 也不响应正向 DNS(或者你的resolv.conf配置有误)。但是,如果没有上述要求的信息,这纯粹是瞎猜。简单测试:连接第一的(即mysql使用适当的主机和端口参数运行 CLI),然后从该交互式会话中运行您的程序UPDATE,并查看整体速度是否比以批处理模式运行查询更快-e

答案2

问题没有解决。我更换了托管服务提供商并获得了预期的结果。我找不到最初导致问题的原因。

相关内容