昆仑山,祸患阿里云宕机 3 小时的 IO HANG 究竟是个什么鬼?!,宦妃天下

杜煜峰

作者 | 王知无

责编| 郭 芮

2019年3月3日清晨,微博炸锅,有网友反映说阿里云疑似呈现宕机,华北许多互联网公司遭到暴击损伤,APP、网站悉数瘫痪,我自己的朋友圈和微信群里也有老友反应,刚刚从被窝被昆仑山,祸殃阿里云宕机 3 小时的 IO HANG 究竟是个什么鬼?!,宦妃全国叫起往来不断修Bug,成果发现效劳器登不上去了......

清晨2点37分,阿里云官方回应称:华北2地域可用区C部分ECS效劳器等实例呈现IO HANG,应县耍孩经紧迫排查处理后逐渐康复,此外将依据协议赶快补偿。并现已全面排查其他地域及可用区,娇踹未发现此类状况。

IO HANG

那么问题来了,IO HANG是个什么鬼?简略的说,便是效劳器磁盘读写过慢,导致线程和进程挂起。许多读写线程/进程挂起导致效劳器宕机......

阿里云有许多的相似RDS、HybridDB数据库,支洛云霜持海量数据在线事务(OLTP)和在线剖析(OLAP),需求许多的IO读写,而Linux的IO性能将直接影响SQL的履行速度,严峻状况下将导致效劳器卡死和宕机。

叶霞娣

怎么监控自己效劳器的IO状况呢?本文将带咱们详细了解这些常用的指令。

怎么监控自己效劳器的IO状况?

常用的指令包含:top,iostat和iotop。那么他们都有什么区别,以及怎么运用呢?咱们逐个分化。

我本机装置的是CentOS-7的虚拟机,内核成人快猫信息为:

top指令

top指令供给了实时的对体系处理器的状况监督。它拔灰将显现体系中CPU最"灵敏"的使命列表,该指令能够按CPU运用、内存运用和履行时刻对使命进行排序,并且该指令的许多特性都能够经过交互式指令。

在Linux下,输入`top` :

Tasks、Cpus、Mem和Swap别离代表了进程信息、CPU信息和内存信息。 各个列表明的目标含义如下 :

PID进程id

USER 进程一切者用户名

PR 优先级

NI nice值

VIRT 进程运用的虚拟内存总量

RES 进程运用的未被换出的物理内存巨细

SHR 同享内存巨细

S 进程状况 S=睡觉 T=盯梢 R=运转 Z=僵尸进程 D=不行中止的睡觉进程

CPU cpu时刻核算

MEM 物理内存占比

TIME+ 进程运用的CPU时刻总计 单位 1/ 100秒

COMMAND 指令行指令名

top常用的交互式指令运用格局:

top [-] [d] [p] [q] [c] [C] [S] [s] [n]

参数阐明:

d:指定每两次屏幕信息改写之间的时刻距离,当然用户能够运用s交互指令来改动之;

p:经过指定监控进程ID来只是监控某个进程的状况;

q林若溪:该选项将使top没有任何推迟的进行改写。假如调用程序有超级用户权限,那么top将以尽或许高的优先级运转;

S:指定累计形式;

s:使top指令在安全形式中运转,这将去除交互指令所带来的潜在风险;

i:使top不显现任何搁置或许僵死进程;

c:显现整个指令行而不只是显现指令名。

经过top指令,咱们即可查到其时效劳器的进程占用CPU和内存状况。

iostat指令

iostat首要用于监控体系设备的IO负载状况,iostat初次运转时显现自体系启动开端的各项核算信息,之后运转iostat将显现自前次运转该指令今后的核算信息。用户能够经过指定核算的次数和时刻来取得所需的核算信息。

根本运用:

$iostat -d -k 2

参数阐明:

-d:显现设备(磁盘)运用状况;

-k:某些运用block穿越清廷之宜妃为单位的列强制运用Kilobytes为单位;

2:数据显现每隔2秒改写一次。

假如提示没有iostat指令需求运用yum装置,装置指令如下:

`yum install sysstat`

参数解说如下:

tps:该设备每秒的传输次数,一次传输意思是“一次I/O恳求”,多个逻辑恳求或许会被合并为“一次I/O恳求”;

kB_read/s:每秒从设备(drive expressed)读取的数据量;kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;

kB_read:读取的总数据量;

kB_wrtn:写入的总数量数据量,这些单位都为Kilobytes。

上面的比如中,咱们能够看到磁盘sda以及它的各个分区的核算数据,其时瞬时核算的磁盘总TPS是1.88,下面是各个分区的TPS(由于是瞬间值,所以总TPS并不严厉等撸姐于各个分区TPS的总和)。

在实践事务中,咱们常常运用的苏奇飞指令是:

iostat -xdm

例如:iostat -xdm 2,2代表2秒钟改写一次。

咱们能够看到,%util这个参数即代表磁盘繁忙程度。100%表明磁盘繁忙, 0%表明磁盘闲暇。可是咱们需求留意小彩旗老公,磁盘繁忙程度并不意味昆仑山,祸殃阿里云宕机 3 小时的 IO HANG 究竟是个什么鬼?!,宦妃全国着磁盘读写速度巨细。

iostat是体系等级帅帅哥昆仑山,祸殃阿里云宕机 3 小时的 IO HANG 究竟是个什么鬼?!,宦妃全国的监控指令,iostat给咱们的展现成果提醒了咱们其时效劳器磁盘的繁忙程度,虽然有必定的辅导含义,可是不能昆仑山,祸殃阿里云宕机 3 小时的 IO HANG 究竟是个什么鬼?!,宦妃全国准确到进程等级,这时候咱们就需求iotop了。

iotop指令

咱们上文讲到top指令,望文生义,iotop代表io版别的top指令,运用起来简略粗犷,直接在指令行敲下:iotop。

iotop指令能够按进程核算IO状况,咱们能够辅导其时体系哪些进程在占用IO,百分比是多少,占用IO的昆仑山,祸殃阿里云宕机 3 小时的 IO HANG 究竟是个什么鬼?!,宦妃全国进程是在读,仍是在写,读写量是多少等信息。然后咱们能够定位到详细的进程,检查进程概况。

相同个iotop指令有一个很像的指令叫做pidstat,参数许多。

例昆仑山,祸殃阿里云宕机 3 小时的 IO HANG 究竟是个什么鬼?!,宦妃全国如:`pidstat -d` :

咱们相同能够看到每个进程的读写状况,然后定位到详细的线程去检查问题。

总结

在生产实践中,实时怀挺是什么意思监控咱们的效劳器IO状况至关重要,尤其是数据库地点的效劳器,它直接关系到咱们的程序具善惠患病安宰贤回应的读写速度、SQL的履行状况等。

效劳器IO的状况是咱们挑选效劳器的重要考虑要素之一。IO变差,轻则写入效劳读写呼应缓慢,重则导致许多进程长时刻挂起,数据库拥堵卡死,效劳昆仑山,祸殃阿里云宕机 3 小时的 IO HANG 究竟是个什么鬼?!,宦妃全国器严峻卡顿,乃至宕机。

作者:王知无,小三马明月阿里巴巴高档大数据开发工程师,先后在京东,阿里等大型潘娇阳互联网公司从事大数据渠道、实时核算和离线核算中间件和事务渠道开发。自媒体人,业余讲师,期望为更多的互联网开发人员供给最新和最热的大数据方向的技能动态,技能前沿研讨。

声明:本文为作者投稿,胡芯宇版权归其个人一切。身份证大全号码游戏用

开发 阿里云 互联网
声明:该文观念仅代表作者自己,搜狐号系信息发布渠道,搜狐仅供给信息存储空间效劳。
展开全文

最新文章