4. st
使用state thread library,编写机器人
st实为单线程
受空间限制,st_create_pthread默认只能创建3w线程,可使用如下方法进行设置
echo "1000000" > /proc/sys/vm/max_map_count
3. TIME_WAIT影响
表现:connect失败,返回“Cannot assign requested address”
说明:客户端频繁的连服务器,连接断开后,生成很多的TIME_WAIT,以至于用光了可用的端口号,所以新的连接没办法绑定端口
解决:程序编码,设置套接字选项 linger l = {1, 0}; 或者修改系统配置,开启TIME_WAIT快速回收
sysctl -w net.ipv4.tcp_timestamps=1
sysctl -w net.ipv4.tcp_tw_recycle=1
2. 端口数限制
查看:cat /proc/sys/net/ipv4/ip_local_port_range
保留端口:0 - 32768
实际可使用端口:32768 - 61000
设置:echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
端口最大值65535,超过此值,设置将会失败
1. 文件句柄限制
查看:ulimit -n
设置:ulimit -n 524288
说明:只对当前会话有效,如果需要,可将设置写入/etc/profile,后续打开的所有会话均有效
本文介绍了在Linux服务器上进行压力测试时遇到的问题及其解决方案,包括:调整state thread library(st)的最大线程数,解决TIME_WAIT状态导致的连接问题,通过设置系统参数优化端口范围,以及增加文件句柄限制以提升服务器处理能力。
1212

被折叠的 条评论
为什么被折叠?



