最近,我们将我们的全栈网站移至新服务器(Vultr 实例)。移至新服务器后,我们不断遇到 400% CPU 使用率问题。
我们的 CPU 使用率达到 400% 已经是第五天了。
vacuum
调试问题引导我们找到有关/的文章,autovacuum
postgress 数据库使用它来回收死元组占用的存储。建议保持开启状态。
由于我们的网站仍在运行,我们不想终止该进程,而且我们也不想搞乱任何事情。
以下是我们为服务器迁移所做的更多工作。
我们使用 nginx 克隆并部署了前端应用程序。对于后端,我们dbdump
从旧服务器创建数据库(25 MB 的 dbdump 文件)并在新服务器上恢复。我们恢复了两次数据,第一次只是试用,第二次是在实际移动数据时。在导入数据之前,我们删除了现有数据库。我们还为数据库使用了官方 postgres docker 镜像。
htop
这是来自服务器的命令 的结果。CPU 使用率过高的进程图像
现在我们不明白该怎么做才能减少服务器CPU负载。
注意:我们正在运行 postgres docker 镜像的默认配置。
设备信息
操作系统:Ubuntu 22.04.1 LTS
内存:8 GB
处理器:4 个 AMD EPYC-Rome 处理器
Vultr,CPU 优化 - 4 个 vCPU,8192 MB RAM,75 GB NVMe,6.00 TB 传输
答案1
我可以通过重新启动 postgres docker 容器来修复它。现在服务器正在正常运行。