AIX 性能管理与监控建议(二)

在这里插入图片描述

转自公众号@twt社区,作者陈炽卉

3 I/O 监控

3.1 IO 响应时间评估

什么样的 IO 响应时间是合理的?如下是一些经验规则的总结:

  • 对于使用机械硬盘、且未配置存储同步镜像的磁阵,评估随机 IO 响应时间的经验规则

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Omu7DBoN-1613983837244)(https://pic3.zhimg.com/80/v2-417dfe02355f16b80a7f9e95a8c0d166_720w.jpg)]

  • 配置同步镜像时,评估随机 IO 响应时间的经验规则

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kvjyDjap-1613983837248)(https://pic3.zhimg.com/80/v2-0d3f9108e105e5696e06ce2c1651ef3a_720w.jpg)]

  • 如果使用 SSD 存储

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rYpCfJJO-1613983837249)(https://pic3.zhimg.com/80/v2-fde5084cf01b692b84efaa30e095525a_720w.jpg)]

  • 对于顺序 IO 而言,不需要担心 IO 服务时间,更应该关注吞吐率;

3.2 通过 nmon 快速定位繁忙的磁盘

进入 nmon 报告的 DISKBUSY 页面,观察 WAvg 的取值。如果 WAvg 在 90%以上,则可能存在 磁盘热点,需要重点监控相关的磁盘。

注意:Avg 显示的平均值是全监控过程的平均(包括磁盘完全 idle 的时段);而 WAvg 则是 显示在监控时段且磁盘繁忙时的平均;由于 nmon 数据采集周期往往远远长于业务峰值时 间,因此 WAvg 一般比 Avg 更有意义。

如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GW5UNjGy-1613983837250)(https://pic1.zhimg.com/80/v2-b97ddfe3670b8ad282895c84e7ff4514_720w.jpg)]

3.3 通过 sar/iostat 命令监控繁忙磁盘

可以通过 sar –d 或 iostat –D 监控繁忙磁盘,如下,其中响应时间以毫秒为单位。一般如果读平均响应时间超过 15ms,写平均响应时间超过 2.5ms,需要重点关注。

排队时间和 sqfull 取值如果长期不为空,则需要判断是否队列深度设置太小(queue_depth)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jOdrfACU-1613983837251)(https://pic1.zhimg.com/80/v2-61274f1c4a643bb4907ff157a2478c08_720w.jpg)]

说明:为方便脚本分析,一般建议在设置-D 选项同时,加上-l (小写的 L)和-T 选项。这 样对应每个 hdisk 的输出将在同一行显示。

3.4 通过 fcstat 命令监控光纤卡

通过 fcstat 可以观察光纤卡的支持速率和运行速率,例如:

`# fcstat fcs0|grep -i speed

Port Speed (supported): 8 GBIT

Port Speed (running): 8 GBIT`

如果运行的速率低于实际支持的速率,则需要检查交换机与主机的链路状态是否正常。

如果显示如下两个指标持续增长(注意取值肯定是非零值,重点在于增长速度),则需要相应 的调整光纤卡的 max_xfer_size 和 num_cmd_elems:

或使用fcstat –D判断, num_cmd_elems 的取值应该大于或等于 + 。比如如下例子中,可以设置 num_cmd_elems 为 180+91= 271.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uvm8uoCV-1613983837253)(https://pic1.zhimg.com/80/v2-37e240448741ae4330f2f78cef8ebe2c_720w.jpg)]

3.5 使用 filemon 监控 IO 读写情况

可以用 filemon 监控 lf(文件系统),lv(逻辑卷),pv(物理卷),vmm(虚拟内存管理) 层面的信息,如下:

# filemon -T 1000000 -u -O lf,lv,pv,detailed -o fmon.out

# sleep 5

# trcstop

生成的 filemon 报告输出在 fmon.out 里面。

注意:如果报告中出现 xxx events lost,则说明出现了 trace buffer 溢出,可以适当增加 trace buffer (由-T 指定),或者缩短监控周期(从 filemon 到 trcstop 的间隔)。

3.6 阅读 filemon 报告

可以通过 filemon 报告得到最忙的文件、逻辑卷以及物理卷信息,如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kk2hTWJq-1613983837253)(https://pic4.zhimg.com/80/v2-006a1819b1f5ba21a89b5e229a0370ff_720w.jpg)]

也可以从 filemon 的 Detailed report 中获得不同文件、逻辑卷、物理卷的读写情况以及响应时间:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eECZLMoS-1613983837254)(https://pic3.zhimg.com/80/v2-aeb4fa43809dde34d8441e7faa30ce02_720w.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-816aifth-1613983837254)(https://pic4.zhimg.com/80/v2-df6e051a12380148bb7a36a32d051867_720w.jpg)]

其中 seeks 的百分比实际上预示了 IO 的模式,如果 seeks 比例接近 100%,则说明 IO 是随机 型的。反之,如果 seeks 接近 0,则说明 IO 是顺序的。

4 网络监控

4.1 监控网络速率

可以使用 entstat –d entX 命令监控网络速率,以及收发包情况,例如如下场景:

# entstat -d ent0|grep -i speed

Media Speed Selected: Autonegotiate

Media Speed Running: 100 Mbps, Full Duplex

External-Network-Switch (ENS) Port Speed: 100 Mbps, Full Duplex

显示的网络运行速率为 100Mbps;如果实际测试中网络带宽超过 12.5MBps,则说明网络可能是性能瓶颈。

4.2 监控网络响应时间

ping 命令主要用来检查网络的连通性。从 ping 的结果,可以检查网络的质量、丢包率等。Ping 响应的 time 值,可以用来判断两台主机直接的网络传送延时情况,在局域网服务器之 间(大多数为万兆卡光纤连接),time 值应该低于 1ms.

如下提供了一个脚本用于评估两台主机之间的网络延迟:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m5kjYDgY-1613983837255)(https://pic1.zhimg.com/80/v2-8a76fe7b7902fb5f2d7fce55036882fc_720w.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uUe71Kt1-1613983837256)(https://pic2.zhimg.com/80/v2-62bf0e6b363d0f352922588aff1f16c5_720w.jpg)]


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SxTU5xuU-1613983837257)(https://pic3.zhimg.com/80/v2-87feadf8462f5baea28fd2541894c106_720w.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j6auMckv-1613983837257)(https://pic4.zhimg.com/80/v2-f98cb92a2b1464a69742ca71b4e4aed3_720w.jpg)]

4.3 监控网卡状态

同时 entstat –d 命令也可以监控到 etherchannel 网卡的流量分布状态(例如收发包以及收发 带宽分布情况),以及 802.3ad 链路的聚合状态,例如,如下示例显示了一个 802.3ad 聚合成功的网卡状态:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VlZMEXXG-1613983837258)(https://pic3.zhimg.com/80/v2-97a96fbfbfd6028cfb42dac9ea9c84a6_720w.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kxRbb0b3-1613983837258)(https://pic1.zhimg.com/80/v2-5f08cbba8046390c2e8ae1e769b591f0_720w.jpg)]

4.4 监控网络连接状态

netstat 是用来对网络运行进行统计观察的最常用的一个工具。netstat 有很多参数,主 要用的的有 -in/ -an/ 等等。使用 -in 选项时,需要关注 Ierrs 和 Oerrs 两栏。Ierrs 表示接收失败的总包数,Oerrs 表 示发送失败的总包数。检查 Ierrs/Ipkts 超过 1% 时,或者 Oerrs/Opkts 超过 1% 时,此时 可能要检查一下网络是否存在不稳定的情况。

使用 -an 选项时,注意 Recv-Q、Send-Q 和 state 这三栏。Recv-Q 表示接收网卡队列的排 队情况,Send-Q 表示网卡发送队列的排队情况。state 表示网络连接的状态,一般为 LISTEN 或者 ESTABLISH。当连接长时间处于 LAST_ACK、FIN_WAIT 之类的状态时,说明相关的 TCP 连接状态比较差,如果该 TCP 连接是应用程序所使用,那么需要引起注意。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NfYIppwJ-1613983837259)(https://pic3.zhimg.com/80/v2-d8ca2f67919daa0351d9328e91340c46_720w.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VAfNWUfO-1613983837259)(https://pic1.zhimg.com/80/v2-5c7f00a03efb0947d7690546f9bc99a8_720w.jpg)]

4.5 查看网络中数据包的重传率

netstat -s 提供了 TCP 的相关统计数据,包括重传统计。TCP 重传会触发拥塞避免算法,造成 网络带宽不能得到有效利用,从而使得性能出现明显下降。尤其是 retransmit timeouts,默认设置下,这类重传超时往往需要 1.5 秒左右,对性能的影响也更为严重。

参考如下 netstat 统计输出,一般如果重传率超过万分之一 ,需要从本机、对端、以及网络 侧(包括交换机、防火墙等等)综合分析丢包的原因,一般需要通过抓包来确认(AIX 上常 用的抓包工具有 iptrace 和 tcpdump)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dqJdVDEQ-1613983837260)(https://pic2.zhimg.com/80/v2-6fcef792a5772efacac9eb2678919a09_720w.jpg)]

4.6 通过 netpmon 监控网络读写情况

通过 aixdemo2 主机向 aixdemo1 主机发起 ftp 传输:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QLiDaubW-1613983837260)(https://pic3.zhimg.com/80/v2-adc78c9ceda5e7d4e931f8d19fdbebae_720w.jpg)]

在 aixdemo1 上启动 netpmon 观察:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qMGqbQYx-1613983837260)(https://pic2.zhimg.com/80/v2-3b58788c61e4aabe02f34cfdd06a3eb5_720w.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hD2nq3Gw-1613983837261)(https://pic1.zhimg.com/80/v2-96a15b8396312c475ae0bb60474b3ea4_720w.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F0Awger2-1613983837261)(https://pic1.zhimg.com/80/v2-fe3b4e385ce40349eb95f5d0e1273174_720w.jpg)]

从 netpmon 的输出中,可以得到各进程 TCP 调用的排序,以及详细分解:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qo6SI8fO-1613983837262)(https://pic2.zhimg.com/80/v2-ab9aaff9d37ae5b3e833c32493634dc9_720w.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tgu8HqXa-1613983837262)(https://pic2.zhimg.com/80/v2-fca15ecfdbcffee16c05e0df82769f5d_720w.jpg)]

5 自动性能数据收集

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KoULL8tf-1613983837263)(https://pic1.zhimg.com/80/v2-596c541334ac3eabc252b9bd94003858_720w.jpg)]

1. topasout - - a <*.topas>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pd0VM9zn-1613983837263)(https://pic1.zhimg.com/80/v2-adc4f6ec811d45a4a6398215e6951e4c_720w.jpg)]

2. nmon_analyzer <*.topas.csv>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1WG4XdnX-1613983837263)(https://pic1.zhimg.com/80/v2-79c1b49eabc96f7ecc44662ebead9640_720w.jpg)]

6 perfpmr 数据收集

下载perfpmr安装包:

根据使用的操作系统版本选择相应的perpmr包,

ftp://ftp.software.ibm.com/aix/tools/perftools/perfpmr/

安装perfpmr包:

  1. 以root权限登录,按bin方式上传perfpmr安装包。

  2. 创建解压目录

# mkdir /tmp/perf71

# cd /tmp/perf71

3.在/tmp/perf71解压perfpmr安装包

# zcat perf71.tar.Z | tar -xvf -

安装 # sh ./Install

数据收集:

  1. 创建数据收集目录

# mkdir /tmp/perfdata

# cd /tmp/perfdata

  1. 运行数据收集命令 -----该命令需要运行5-10分钟。需保证在该命令运行期 间,性能测试一直处于稳定运行状态。‘perfpmr.sh 60’

  2. 取数据 将/tmp/perfdata下的数据打包取回即可;建议使用perfpmr.sh直接打 包(压缩比最优):在性能数据的上一级目录,运行如下命令:

#perfpmr.sh -o perfdata -z perfdata_<TPS_VALUE>_<GOOD_OR_BAD>.pax.gz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值