我在用着:
- Google 云计算引擎
- Linux Debian + Apache2
- 谷歌云 SQL
- WordPress 的
昨天我的 CPU 开始从 1-5% 增加到 80-90%。当时我正在开发一个 wordpress 网站,但这可能会导致故障。几天前我也遇到过同样的情况,所以我最终停止了 VM 实例,将其克隆到一个新的实例,并恢复了前一天的数据库。
之后,它比以前更好用了!之前我的 CPU 使用率一直保持在 10% 左右,之后是 1%,有时甚至达到 5%。然后在晚上 10:10,它又开始增加。页面加载时间也增加到 15 瑞典克朗甚至更多。
我的 SQL 实例每天晚上 10:00 到凌晨 2 点之间拍摄快照。这也是两次发生的时间。
以下是 CPU 使用率的屏幕截图:
也许这些过程也有帮助:
www-data 4184 6.4 1.0 320160 81604 ? S 13:25 0:38 /usr/sbin/apache2 -k start
www-data 4204 6.0 1.2 332204 93596 ? S 13:26 0:30 /usr/sbin/apache2 -k start
www-data 4222 6.0 1.2 331948 93340 ? S 13:28 0:25 /usr/sbin/apache2 -k start
www-data 4244 6.4 1.0 320928 82320 ? S 13:29 0:21 /usr/sbin/apache2 -k start
www-data 4245 6.4 1.7 373280 134724 ? S 13:29 0:21 /usr/sbin/apache2 -k start
www-data 4249 6.6 1.2 331696 93136 ? S 13:29 0:21 /usr/sbin/apache2 -k start
www-data 4253 6.4 1.2 332212 93636 ? S 13:30 0:16 /usr/sbin/apache2 -k start
www-data 4271 6.2 1.2 332972 94344 ? S 13:31 0:14 /usr/sbin/apache2 -k start
www-data 4277 6.2 1.5 357044 117944 ? S 13:32 0:09 /usr/sbin/apache2 -k start
www-data 4278 6.3 1.2 332972 94344 ? S 13:32 0:09 /usr/sbin/apache2 -k start
www-data 4283 6.3 1.5 356788 117664 ? S 13:32 0:09 /usr/sbin/apache2 -k start
www-data 4286 5.8 1.2 331696 92852 ? S 13:32 0:08 /usr/sbin/apache2 -k start
www-data 4287 6.6 1.5 357040 117576 ? S 13:32 0:09 /usr/sbin/apache2 -k start
www-data 4300 5.7 1.2 331180 92316 ? S 13:34 0:03 /usr/sbin/apache2 -k start
www-data 4301 6.0 1.2 332976 94120 ? S 13:34 0:03 /usr/sbin/apache2 -k start
www-data 4302 5.9 1.2 332976 94116 ? S 13:34 0:03 /usr/sbin/apache2 -k start
www-data 4304 6.2 1.2 331180 92316 ? S 13:34 0:03 /usr/sbin/apache2 -k start
www-data 4305 5.8 1.2 333232 94392 ? S 13:34 0:03 /usr/sbin/apache2 -k start
www-data 4306 6.2 1.2 333232 94372 ? S 13:34 0:03 /usr/sbin/apache2 -k start
我不是专业人士,所以每个小帮助都会很棒!
答案1
我不能 100% 确定您的问题。您说快照是在峰值发生时发生的,所以似乎您已经找到了罪魁祸首。如果这是虚拟机快照,那么您将看到主机 CPU 使用率出现峰值,因为快照确实需要一些时间才能完成,并且根据主机上可用的资源,这将影响客户虚拟机。
如果您说数据库快照是在那时发生的,那么您也将看到此峰值。数据库必须锁定进程和表才能对数据库进行 mysqldump。我也不知道您的数据库的大小,但这里有一篇关于优化 MySQL 快照进程的很好的文章: https://dba.stackexchange.com/questions/20/how-can-i-optimize-a-mysqldump-of-a-large-database/2227#2227
您是否看到主机/虚拟机在 CPU 使用率高时使用了大量交换(页面文件)空间?这可能表明虚拟机的资源管理设置存在问题。CPU 使用率与内存使用没有直接关系,但会在高交换事件中受到影响,这很可能发生在配置不当的 DB VM 上。我见过人们的 DB 服务器设置中最大的错误之一是缺少主轴和分配的内存不足。
我再次没有这方面的全部信息,但您还应该检查是否已为 DB VM 分配了足够的 CPU 资源以确保正常运行。
还原 MySQL 数据库时也应非常小心。在选择还原的点之后,您将丢失对数据库的所有更新,并且通常需要在还原后重新同步数据库...这很不方便。