公有云某客户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
相关文章
|
24天前
|
存储 数据挖掘 Windows
服务器数据恢复—V7000存储raid5故障导致LUN无法访问的数据恢复案例
服务器数据恢复环境: 三台V7000存储,共有64块SAS硬盘(其中有三块热备盘,其中一块已启用)组建了数组raid5阵列。分配若干LUN,上层安装Windows server操作系统,数据分区格式化为NTFS文件系统。 服务器故障: V7000存储中有多块硬盘出现故障离线,阵列失效,LUN无法访问。需要恢复卷中所有数据(主要为dcm文件)。
|
25天前
|
Oracle 关系型数据库 数据挖掘
服务器数据恢复—服务器RAID5磁盘阵列数据恢复案例
服务器数据恢复环境: 一台服务器上有一组由5块硬盘(4块数据盘+1块热备盘)组建的raid5阵列。服务器安装Linux Redhat操作系统,运行一套基于oracle数据库的OA系统。 服务器故障: 这组raid5阵列中一块磁盘离线,但是热备盘并没有自动激活rebuild,当另外一块数据盘发生故障离线后,raid崩溃。 用户方要求恢复raid数据,同时要求还原操作系统。经过初步观察,raid中的这些硬盘没有表现出存在明显的物理故障的特征,也没有明显的同步表现,数据恢复的可能性很大。
|
3天前
|
存储 Oracle 关系型数据库
服务器数据恢复—EVA存储硬盘读写性能不稳定掉线的数据恢复案例
服务器存储数据恢复环境: 一台EVA某型号控制器+EVA扩展柜+FC磁盘。 服务器存储故障&检测: 磁盘故障导致该EVA存储中LUN不可用,导致上层应用无法正常使用。
61 47
|
2天前
|
数据挖掘 Linux 数据库
服务器数据恢复—reiserfs文件系统数据恢复案例
服务器数据恢复环境: 一台服务器中有一组由4块SAS硬盘组建的RAID5阵列,上层安装linux操作系统统。分区结构:boot分区+LVM卷+swap分区(按照顺序),LVM卷中划分了一个reiserfs文件系统作为根分区。 服务器故障: 服务器操作系统在运行过程中由于未知原因崩溃,管理员重装操作系统后发现分区结构变为:boot分区+swap分区+LVM卷(按照顺序),LVM卷中文件系统位置有个空的reiserfs超级块。 用户方需要恢复reiserfs文件系统中所有数据,包含数据库、网站程序与网页、OA系统中所有办公文档。
服务器数据恢复—reiserfs文件系统数据恢复案例
|
5天前
|
存储 数据挖掘
服务器数据恢复—EqualLogic存储raid5阵列多块硬盘掉线的数据恢复案例
服务器存储数据恢复环境: 一台EqualLogic存储中有一组由16块SAS硬盘组建的RAID5阵列。上层划分了4个卷,采用VMFS文件系统,存放虚拟机文件。 服务器存储故障: 存储RAID5阵列中磁盘出现故障,有2块硬盘对应的指示灯亮黄灯,存储不可用,且存储设备已经过保。
|
5天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
31 3
|
3天前
|
存储 运维 数据挖掘
服务器数据恢复—EVA存储删除VDISK的数据恢复案例
服务器存储数据恢复环境: 某单位有一台EVA某型号存储主机+2个扩展柜,共12个FATA磁盘+10个FC磁盘,LUN数量不确定,操作系统为WINDOWS SERVER。该存储用来存放单位的历史案例审理材料。 服务器存储故障&检测: 该EVA存储出现故障,无法正常使用。而且经过几家数据恢复服务商的操作,具体故障原因已经无法确定。
|
4天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
90 1
|
16天前
|
算法 数据挖掘 Linux
服务器数据恢复—EXT3文件系统下邮件数据恢复案例
服务器数据恢复环境: 邮件服务器中有一组由8块盘组成的RAID5阵列, 上层是Linux操作系统+EXT3文件系统。 服务器故障: 由于误删除导致文件系统中的邮件数据丢失。
|
21天前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库

热门文章

最新文章