![测试云虚拟机性能](https://linux22.com/image/652116/%E6%B5%8B%E8%AF%95%E4%BA%91%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%80%A7%E8%83%BD.png)
我在云环境中托管了一个 Linux VM。我怀疑提供商有时会过度配置 CPU 和 IO。
例如,postgresql 报告在 explain analyze 模式下,执行时间在 5ms 以内的查询超过 300ms。我还在 vCPU 空闲时观察了 ssh 的延迟。
我可以使用哪些工具来监控 CPU 和 IO 性能的变化?
答案1
在盒子本身上,您可以使用vmstat
和iostat
(sysstat 包的一部分)。
vmstat 1
将显示steal
,即虚拟机管理程序从 VM 转移以分配给其他 VM 的 CPU 周期数。您还可以查看iowait
,即等待 I/O 完成所花费的 CPU 周期百分比。iostat -x -d 1
将分别向您显示svctm
和await
;底层设备处理请求的平均时间(在 I/O 调度程序处理请求之后)以及 I/O 请求的平均等待时间。如果任何时间高于您的预期(~10ms),则这肯定是争用的信号。