我的 SQL 在启动时消耗了高达 60% 的 CPU 时间

我的 SQL 在启动时消耗了高达 60% 的 CPU 时间

我在 Amazon Ec2 微型实例 (linux ami) 上运行 Wordpress 安装。使用默认配置,Apache 不断耗尽所有内存并关闭 mysql,导致 wordpress 无法运行。

我根据以下信息调整了我的 Apache 配置使 WordPress 在 EC2-Micro 上稳定运行 并将mysql配置更改为小型服务器的示例配置。这些调整似乎已经解决了内存问题。

但是,我注意到,关闭 mysqld 服务后,cpu 使用率徘徊在 0 -5% 左右,峰值为 10%,但一旦启动 mysql,cpu 时间就会保持在 40 -60% 之间。这是正常的吗?如果不正常,我该怎么做才能补救。它只是一个测试服务器,因此几乎没有网站流量。我还使用 mysqladmin processlist 和 stat 命令进行了检查,没有发现任何“恶意”查询的迹象。

答案1

这里的关键词是micro实例。只要您对延迟感到满意,微服务器就是处理低需求和间歇性负载的好方法。启动时发生的事情是,您正在消耗 CPU“峰值”缓冲区,然后 VM 被限制,导致高窃取时间。这就是微服务器的设计运行方式,而不是 WP 或 MySQL 甚至您的 AWS 设置的问题。

AWS 文档中的此页面讨论微型计算机及其在负载下的行为。听起来您的工作量(测试服务器,无用户)非常适合使用微型计算机,但请注意重新启动服务时会发生 CPU 限制。

我使用微型实例在 Plone 上工作,它在启动时会消耗大量 CPU。一开始我很惊讶,但习惯之后就没问题了。编辑 - 建议升级到,small但看到 OP 关于使用免费套餐的评论。免费套餐使用就是这样,对 AWS 的一个很好的介绍,但不是生产设置。

相关内容