我有一台 Linux 服务器,上面安装了 ubuntu 20.04。内核版本是5.4.0-163-generic
。24 核和 32GB RAM。
我在这个服务器上运行着数据库,它运行没有任何问题。问题是当我第一次运行一个命令时,它花费的时间太长了。或者启动和 ssh 会话总是需要 4-5 秒。
以下是一个例子:
$ time mysql -u root -h 127.1
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
real 0m3.663s
user 0m0.013s
sys 0m0.008s
$ time mysql -u root -h 127.1
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
real 0m0.015s
user 0m0.008s
sys 0m0.007s
今天我发现了一个奇怪的问题。我使用 rsync 将一些文件从同一网段(使用 LAN/专用网络)中的另一台服务器移动到此服务器,开始时速度约为 90/MBs,这是正常的。然后 1GB 之后速度下降到 50MB/s,然后是 30MB/s,最后是 1MB/s。
我检查了两台服务器的网络/磁盘 I/O,一切正常。然后我检查了我的目标服务器,发现平均负载正在增加。我检查了指标,所有核心的 CPU 使用率均低于 0.2,从顶部输出来看,每个核心都有一些 I/O WA(我认为这是正常的,因为它正在复制文件,并且等待时间不一致,它们只在 2-4 个核心上按间隔显示)。
我一直有大约 200 - 400 MB 的可用内存和 2 - 3 GB 的缓冲区/缓存。我的 innodb 缓冲区大小为 25GB,如果这是问题的话我可以减少它,但我认为不是。
我对内核做的唯一更改是intel_iommu=igfx_off intremap=off
因为我的硬件在某些版本的内核上存在问题。
有人能告诉我如何进一步调查这个问题吗?我很感激任何想法/帮助。