公有云某客户ECS ESSD云盘磁盘延迟⾼案例分享

简介: 某客户反馈了3台ECS发生云盘IO抖动,体现在IOUtil、IOWait较⾼,此案例中出现的方法论值得借鉴与参考。

问题背景

某客户反馈了3台ECS发生云盘IO抖动,体现在IOUtil、IOWait较⾼, 同时提供了同时间的⽹络总流量不超过60Mb及相关负载较低的情况,表示在相关负载较低的情况下不 应该出现云盘IOUtil、IOWait⾼情况,同时此前已引导过该客户升级了云盘类型(使⽤了更⾼ 规格的SSD云盘)。


分析过程

分析过程1

1、复核客户所提供截图发现:当时客户的1分钟粒度⽹络PPS从20+k飙升到100+K,但是对于客户使⽤ 的ECS机型来说,这样的⽹络PPS算下来每秒⼤概在200+左右,并不算⾼,不过相对于之前的未发⽣ IOWait与IOUtil⾼的情况来说确实有所上升,客户反馈业务类型为顺序写类型,所以在写的过程中若这 些IO有落地的话,也是导致IOWait与IOUtil上升的可能点之⼀;

2、业务请求类型是顺序写,顺序写场景的IOUtil可能会出现偏差(由于顺序写的特征并不能代表当时的 磁盘处理性能,有可能仅仅是请求数量较多),所以可以暂时不以IOUtil作为参考;

3、客户提供了其中⼀台机器授权,登陆该机器从⽇志看未发现ECS OS层⾯的异常,但从sar历史记录 user态CPU负载有上所上升,user态⼀般是由⾮内核应⽤程序导致(⽐如hd、中间件等); 综上分析,由于客户反馈的是3台ECS同时存在异常现象(即不⼤可能是单⼀云盘问题,除⾮3台ECS的 云盘都在同⼀个云盘集群上),从客户提供截图看异常时间点也⽐较接近,加上⽹络PPS同时间有上 升,所以可以基本排除云盘底层问题,⼤概率是客户应⽤⾃身问题,需要定位该问题分两步⾛:

A、由于⽆法确认3台ECS云盘是否在同⼀个云盘集群上,且当时底层⾏为是否存在影响IO的情况,需要 找云盘PD进⾏⼆次确认;

B、客户反馈的时间点都在周三,那么在下次周三之前要准备好捕获现场的环境,我打算⽤atop先分析 看看,因为atop⽐较轻量,分析后有⽅向再针对性的部署dignose-tools进⾏堆栈录制进⾏深⼊分析,看 下客户业务上的影响点在哪⾥。


分析过程2

经过客户部署atop、blktrace后在2020-12-09 21:08 现场复现时成功捕获到相关数据,从客户提供的监 控图看当时客户⼤数据节点bdhbaes09存在IOwait⽑刺:

image.png

通过分析atop(秒级)08~09⼀分钟的数据,发现期间并未有IOwait上升的情况(客户涉及三个盘均未 出现):

image.png

通过分析blktrace分析的链路,未发现⾼延迟,耗时较⻓的主要在D2C链路,即ECS内IO到驱动(io vmexit到kvm的交互路径)上,但也未表现出异常(平均耗时为0.2ms):

image.png

通过sar分钟级归档数据确认,均摊在21:07、21:08、21:09期间的IOWait都不⾼:

image.png

经过询问客户是否有业务的体现,客户反馈⽆业务异常,故怀疑是客户侧监控数据体现形式不同,客户 反馈监控使⽤的是开源的openfalcon监控,分析openfalcon源码发现,openfalcon的iowait指标是经过 ⾃⼰的公式进⾏计算:

image.png

经过分析openfalcon的await计算公式的值来源于nux的diskstat,⽽该函数取值是通过读 取/proc/diskstat的不同域值来进⾏计算(相当于openfalcon⾃⼰实现了⼀个iostat),所以精度、敏感 度⽐借助iostat实现的云监控、atop都要⾼,因此粒度⽐云监控、atop⾼,当捕捉到⼀个(仅1个时)较 ⼤iowait时也会体现在MAX值上(客户反馈的曲线图取值来⾃于MAX):

image.png

结论

  1. 排查ECS内部IO情况、阿⾥云监控、ESSD云盘底层均未发现异常;
  2. 由于监控粒度不同,从openfalcon的源码级分析发现openfalcon的IOWait MAX值采集⽐较敏感,在 ⽆业务影响情况下,建议参考AVG(平均值)作为ESSD云盘性能参考;
  3. openfalcon采集到的个别IOwait较⾼导致MAX值曲线呈现⽑刺,建议atop抓到现场时再进⾏⼆次分 析,⽬前请保持在每周三进⾏导⼊数据时atop的秒级监控(通过设置归档天数可⻓期开着收集),在业 务有体现或者atop显示有IOWait有异常时提单反馈;
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
存储 数据挖掘 索引
服务器数据恢复—LeftHand存储结构和P4500存储数据恢复案例
LeftHand存储支持RAID5、RAID6、RAID10磁盘阵列,同时还支持卷快照,卷动态扩容等。下面简单聊一下LeftHand存储的结构和一个LeftHand p4500存储中磁盘阵列数据恢复案例。
服务器数据恢复—LeftHand存储结构和P4500存储数据恢复案例
|
21天前
|
存储 运维 Oracle
服务器数据恢复—光纤共享存储互斥出现问题的数据恢复案例
两台SOLARIS系统(SPARC平台)的服务器通过光纤交换机共享同一个存储作为CLUSTER使用。正常情况下只有A服务器工作。如果A服务器发生故障宕机,可将A服务器关机,开启B服务器接管。但由于配置不当导致共享存储互斥出现问题。 管理员进行运维检查时发现B服务器连接了一块未知磁盘。由于B服务器并未启用,处于闲置状态,所以管理员也将这块磁盘当作闲置的,于是在B服务器上将磁盘的某个分区做了newfs。没想到这块磁盘就是那个共享存储,执行操作没有多长时间A服务器就开始报警并宕机。
|
5天前
|
编解码 前端开发 安全
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
在我们选购阿里云服务器的过程中,不管是新用户还是老用户通常都是通过阿里云的活动去买了,一是价格更加实惠,二是活动中的云服务器配置比较丰富,足可以满足大部分用户的需求,但是面对琳琅满目的云服务器实例、带宽和云盘选项,如何选择更适合自己,成为许多用户比较关注的问题。本文将介绍如何在阿里云的活动中选择合适的云服务器实例、带宽和云盘,以供参考和选择。
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
|
7天前
|
SQL 数据挖掘 数据库
服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
服务器数据恢复环境: 一台服务器中有一组由4块STAT硬盘通过RAID卡组建的RAID10阵列,上层是XenServer虚拟化平台,虚拟机安装Windows Server操作系统,作为Web服务器使用。 服务器故障: 因机房异常断电导致服务器中一台VPS(Xen Server虚拟机)不可用,虚拟磁盘文件丢失。
服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
|
15天前
|
网络协议
keepalived对后端服务器的监测方式实战案例
关于使用keepalived进行后端服务器TCP监测的实战案例,包括配置文件的编辑和keepalived服务的重启,以确保配置生效。
28 1
keepalived对后端服务器的监测方式实战案例
|
5天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
11天前
|
存储 安全 算法
服务器数据恢复—Raid磁盘阵列的安全性分析及常见故障
出于尽可能避免数据灾难的设计初衷,RAID解决了3个问题:容量问题、IO性能问题、存储安全(冗余)问题。从数据恢复的角度讨论RAID的存储安全问题。 常见的起到存储安全作用的RAID方案有RAID1、RAID5及其变形。基本设计思路是相似的:当部分数据异常时,可通过特定算法将数据还原出来。以RAID5为例:如果要记录两个数字,可以通过再多记录这两个数字的和来达到记录冗余性的目的。例如记录3和5,同时再记录这2个数字的和8。在不记得到底是几和5的情况下,只需要用8-5就可以算出这个丢失的数字了,其余情况依此类推。
|
16天前
|
弹性计算 固态存储 NoSQL
阿里云服务器系统盘和数据盘ESSD Entry、ESSD AutoPL和ESSD云盘区别、性能和价格整理
阿里云服务器系统盘有ESSD Entry、ESSD云盘及ESSD AutoPL三种选择,各自在性能和适用场景上有所不同。ESSD Entry云盘性价比高,适合开发与测试业务;ESSD AutoPL云盘实现容量与性能解耦,支持自定义预配置性能,适用于时延敏感或IO密集型场景;ESSD云盘则提供多种性能级别,适用于大型OLTP数据库和NoSQL数据库等。详情及价格参见阿里云官网。
|
15天前
|
存储 运维 小程序
服务器数据恢复—双循环RAID5阵列数据恢复案例
服务器存储数据恢复环境: 一台存储中有一组由7块硬盘组建的RAID5阵列,存储中还有另外3块盘是raid中掉线的硬盘(硬盘掉线了,管理员只是添加一块的新的硬盘做rebuild,并没有将掉线的硬盘拔掉)。整个RAID5阵列的存储空间划分了一个LUN。 服务器存储故障: 硬盘出现故障导致存储中阵列瘫痪。 和管理员沟通,据管理员说是磁盘阵列中某些硬盘出现故障导致存储不可用,初步判断RAID中有硬盘掉线了。
|
25天前
|
SQL 缓存 自然语言处理
实战案例1:基于C语言的Web服务器实现。
实战案例1:基于C语言的Web服务器实现。
86 15

热门文章

最新文章