前言
不同的机器性能不同,但是我们应用开发一般不去关注这些。只有等压力到一定程度后,我们才会发现不同的机器表现不一样。
现场
有一天,笔者突然收到了线上Zookeeper的告警。其中一台机器磁盘IOWait高,奇异的是 我们线上的5台机器组成一个集群,唯独只有一台IOWait高。
为什么仅有一台iowait高
这个问题第一个疑点就是Zookeeper最为一个集群,为什么只有C变高,况且C只是个follower节点。于是笔者看了下分别机器的ios,发现iops竟然差不多。
机器问题,Raid卡没电池
到这里,很自然的就怀疑起机器的问题了。和SA一块排查,比较异同。发现有问题的机器是用的旧型号机器,而这批机器Raid卡竟然没有带电池!
本来Raid卡是自带一块RAM加速写入性能的,不带电池的后果就是Raid卡会不启用写缓存的功能。怪不得IOWait高。
顺手解决了另一个疑惑
在发现这个点之后,笔者立马就想起了之前大促的时候,一个应用的部分机器会卡主,翻日志会发现。两条没有任何请求的日志之间会出现好几秒的间隔情况,翻了下之前的ip,发现他们也是在这种没有电池的机器上-_-!
总结
在相同负载下的机器会有不同性能表现时,我们需要将其宿主机的硬件性能作为一个可能的点考虑进来。
本文转载自微信公众号「解Bug之路」,可以通过以下二维码关注。转载本文请联系解Bug之路公众号。