无线用户连接使用WiFi时有抱怨说,微信连接正常,但是有时候发送图片甚至短消息时出现转圈现象 。刷抖音、腾讯视频、看B站或是开启浏览器时部分图片打不开,开启某一个视屏时一直转圈等问题 。
出现这类问题时,首先需要排除网络问题,排除无线部分的干扰、有线部分的延迟 。分为几个部分进行调查
无线网络检查1. 连接无线后,通过ping检查无线到本地网关之间的丢包率、延迟、抖动等是否异常
(排除无线信道干扰,信号不好等因素导致的网络问题)
文章插图
2. 检查DNS速度和应答
开启网址时,首先通过DNS获得目标IP地址,从而建立网络连接 。
有时候,网络速度慢有可能时因为上一层DNS解析服务器响应慢导致页面打开慢,可通过在网关设备上运行dig命令查看dns解析的响应时间, 如:
文章插图
也可在终端上,抓取DNS报文计算请求与响应报文时间戳差来了解DNS响应状况 。
排除掉一些基本的网络问题后,若问题没能解决,就得从系统的角度去分析性能问题了 。
有些时候,需要收集一些现场的计数(可能会直接找到问题所在),但大多数情况都需要做进一步的模拟测试,以确认问题所在 。
现场信息收集现场参数检查:
1. 检查session情况(做NAT的网关设备一般为linux或者openwrt系统)
查看nf_conntrack_count计数 --- 当前连接数
cat /proc/sys/net/netfilter/nf_conntrack_count
2. 查看nf_conntrack表最大连接数cat /proc/sys/net/netfilter/nf_conntrack_max
可通过如下命令临时修改:sysctl -w net.netfilter.nf_conntrack_max=65536echo 16384 > /sys/module/nf_conntrack/parameters/hashsize
注意:hashsize = nf_conntrack_max / 4
或者:
sysctl -w net.ipv4.ip_conntrack_max=65536
3. 查看nf_conntrack的TCP连接记录时间
cat /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
4. 通过内核参数查看命令,查看所有参数配置
sysctl -a | grep nf_conntrack
5. 查看具体的session信息
cat /proc/net/nf_conntrack
当获得一些现场信息后,需要在实验室环境构造类似的环境,模拟用户session变化情况(出现问题时,很大可能是因为资源死锁或限制导致了类似的性能,因此需要不断变化端口、IP、协议等参数,来逐步确认问题所在)
环境模拟在进行本地机器进行模拟测试时,可能需要调整一些系统参数,以便使作为辅测设备本身不成为瓶颈 。如:
- 客户端连接数限制
- File Descriptors 限制
[root@kvmserver1 ~]# ulimit -n1024
可根据设备内存状况,修改该数值cat /etc/security/limits.conf
文章插图
如修改为
* soft nofile 10000* hard nofile 10000
普通用户默认使用的是 soft 限制,并且能够通过 ulimit -n 修改 soft 限制到最大跟 hard 一样,超过 hard 的话会报错:ulimit: open files: cannot modify limit: Operation not permitted
若使用的连接需要特别的多,可能会需要调整下面这几个值 。这几个值限制文件 Handle最大数量都很大,默认为 1024 * 1024,但也能调整的更大:
fs.file-max = 1000000fs.file-nr = 13920 0 1000000fs.nr_open = 1048576
file-max 是 kernel 能分配的文件 Handle 最大数量file-nar 有三个值,动态变化的,第一个值是当前已经分配的文件 Handle数量,第二个值是分配但是未使用的文件 Handle 数一般都是 0,最后一个实际就是 file-max 的值,表示系统最大分配的文件 Handle 数量 。当系统内文件 Handle 数超过 file-max 后,一样会报 Too many open files 。
推荐阅读
- 被我用烂的DEBUG调试技巧,专治各种搜索不到的问题
- 2020网络安全创新排行
- 高性能固态盘 金士顿KC2500 M.2 NVMe SSD评测
- Python小程序网络耗时监控
- 神马是什么意思网络语 神马是什么意思为什么叫神马
- OPPO|比天玑8100更省电!天玑8000-MAX来袭:台积电5nm 性能强悍
- 使用Pytorch和Matplotlib可视化卷积神经网络的特征
- 联想|LCD屏/骁龙888+只卖1799!moto edge S30增加高性能模式:一键满血
- 手机网络游戏都有哪些
- 好玩的3d大型网络游戏排行榜是什么