现场是这样的。两款实例价格差一倍,参数看着差不多,业务跑在便宜的那台上总是不稳定,高峰期延迟明显变差。
把日志和配置对完,能解释这个现象的基本就这几处。共享型与其他实例共用物理核,存在资源争抢;独享型绑定物理核,性能有明确保障;突发型还有积分机制,额度用完会被限频。
第一件事是看当前实例的偷取时间
top -bn1 | grep '%Cpu'
接着确认规格与虚拟化类型
lscpu | grep -i hypervisor
做一次持续压测看稳定性
stress-ng --cpu 2 --timeout 120s
剩下的就是对比同规格独享实例表现
mpstat -P ALL 1 3
这次没动代码,只在配置和运行环境上找原因。
怎么算真的好了,看的是同一批现象。换成独享型后长时间压测性能平稳,高峰期延迟不再抖动。
容易忽略的是,共享型适合测试和低负载站点;有明确响应时间要求的业务,省下的钱通常会在故障里还回去。报错文案容易误导,真正的原因往往在相邻那一层的日志里。