大数跨境

一次AIX的网络TCP调优案例

一次AIX的网络TCP调优案例 明凰星浩
2024-04-03
1
导读:通过替换测试的方式,使用同网段的Linux和Windows作为客户端传输速度为200K/s左右,没有性能问题,仅使用aix客户端时故障才会出现,排除了ftp server的问题,确认问题出在aix端。


1、 故障描述  

AIX通过FTP传输数据时,出现了严重的性能问题,环境如下:

FTP客户端: AIX6106

FTP服务端:RHEL 7.5+vsftp

2、 故障分析过程 

1.通过替换测试的方式,使用同网段的Linux和Windows作为客户端传输速度为200K/s左右,没有性能问题,仅使用aix客户端时故障才会出现,排除了ftp server的问题,确认问题出在aix端。

2.使用测试文件进行传输测试,1M大小的文件传输耗时接近1分钟,平均速度17.06k/s。同时使用tcpdump抓包进行分析。

ftp> bin

200 switching to Binary mode.

ftp> put test20231228

200 PORT command successful. consider using PASV

150 OK to send data.

226 Transfer complete

1016000 bytes sent in 58.15 seconds (17.06 kbytes/s)

1ocal: test20231228 remote: test20231228

ftp> bye

221 Goodbye.

3.使用wireshark打开抓包文件进行分析,先观察专家信息概要,发现有大量的重传和超时重传

4.跟踪tcp流量的往返时间,发现有大量1.5秒的毛刺,都是重传导致的

5.根据包大小和时间,过滤出重传的ftp数据包,可以发现一共有38个,如果按RTT 1.4秒计算,这38个包耗时53秒。如果扣除这53秒的话,1M传输文件耗时5秒,可以达到和Linux客户端同样的200K/s的速度。

综上,问题的关键在于aix端的重传机制有问题。

3.  故障处理

经查询,aix传统的重传超时间隔为1.5秒,可以通过调整系统参数来缩短这个间隔,最终调整如下:

no -o timer_wheel_tick=1  //timer wheel的间隔,单位是ticks,1个tick也就是10ms

no -o tcp_low_rto=20 //tcp超时重传的时间  但是是ms,必须是timer_wheel_tick时间的倍数,这里设置为20ms

调整参数后,aix ftp客户端传输速度回归正常。

【声明】内容源于网络
0
0
明凰星浩
领先的数字化服务合作伙伴
内容 11
粉丝 0
明凰星浩 领先的数字化服务合作伙伴
总阅读20
粉丝0
内容11