什么原因可能导致该 EC2 实例的负载激增?

什么原因可能导致该 EC2 实例的负载激增?

我有一个 Amazon EC2 实例 (c1.medium,ami-ed46a784),大约每 32 小时就会经历一次平均负载的短暂峰值。平均负载通常约为 0.15,但在这些峰值期间会升至 3+ 并持续约 15 分钟。在此期间,CPU 使用率、磁盘流量、交换使用率、IRQ 中断、apache 流量或我的 collectd 安装报告的任何其他指标均没有增加。禁用我添加到基本安装的所有 cron 作业没有任何效果。此实例运行厨师、apache、mysql、couchdb、memcached 以及 twisted python 服务——所有这些服务目前接收的流量都很少。

以下是在一次峰值期间收集的一些数据:

/usr/bin/top 输出:
顶部 - 14:31:00 启动 65 天,20:48,1 个用户,平均负载:3.00、2.13、1.01
任务:共 125 个,1 个正在运行,124 个正在休眠,0 个已停止,0 个僵尸
CPU:0.8%us,0.5%sy,0.0%ni,98.0%id,0.2%wa,0.0%hi,0.1%si,0.4%st
内存:总计 1788724k,已使用 1723448k,可用 65276k,缓冲区 179284k
交换:总计 917496k,已使用 124k,可用 917372k,缓存 680404k
...CPU 使用率最高的进程只有 4%...
/usr/bin/iostat 输出:
Linux 2.6.21.7-2.fc8xen (foo.example.com) 11/08/09 _i686_ (2 CPU)
平均 CPU:%用户%nice%系统%iowait%steal%idle
          0.78 0.00 0.80 0.19 0.42 97.95

设备:tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda2 0.00 0.00 0.01 8762 74472
sda3 0.00 0.00 0.00 944 288
sda1 19.29 0.24 242.63 1354218 1380794096
平均存款 0.34 0.07 6.50 393928 36997032
/usr/bin/mpstat 输出:
Linux 2.6.21.7-2.fc8xen (foo.example.com) 11/08/09 _i686_ (2 CPU)
14:31:00 CPU %usr%nice%sys%iowait%irq%soft%steal%guest%idle
14:31:00 全部 0.78 0.00 0.51 0.19 0.00 0.14 0.42 0.00 97.95
/usr/bin/free -m 输出:
     已使用的、可用的、缓存的共享缓冲区总数
内存:1746 1683 63 0 175 664

collectd 负载图

同一物理主机上其他人的实例是否可能导致这些峰值?在峰值期间我应该尝试收集其他有助于诊断问题的数据吗?还有什么因素会影响平均负载?

这个问题也发了在 AWS 论坛上。

更新 #1

我还使用以下方式收集数据统计信息并发表了这里。据我所知,它没有显示任何导致负载的情况。

答案1

我会检查您主机上运行的 cronjobs。事实上,如果您有一个 virt,并且在同一物理主机上有另一个 virt 使用例如 sata 驱动器带宽,并且您想同时写入磁盘,则它会导致比通常在单个非虚拟化、非共享环境中更大的负载。对于任何 IO 操作都是如此。顺便问一句。当您在 top 中时,您介意按 1 来查看所有核心吗?似乎您的主机上没有实际负载,至少没有 IOwait 或任何我们可以看到 3.00 负载的原因。我很好奇您在两个核心上都能看到什么。此外,如果您可以安装 dstat 并运行它来检查发生了什么。

相关内容