一次压测服务长链接过程中,出现以下问题:
1. 服务器出现链接建立不上的情况,查看dmesg,发现服务器出现大量 file-max limit 65536 reached 错误。
初步判断是服务器内核配置问题,内核的file-max设置为65536,表示系统最多打开文件描述符为65536,远远达不到压测标准。
通过 cat /proc/sys/fs/file-max 查看,结果发现 file-max为655360,与预期的结果不符
然后查看 sysctl -p| grep file-max,结果发现出现了两个值
655360
65536
查看配置文件 /etc/sysctl.conf
发现配置了两个
直接删除一个就ok了
原来之前配置file-max是通过 /proc/sys/配置, 但是有次服务器出问题,重启了一下, 内核启动的过程中,又重新加载了 /etc/sysctl.conf这个文件中的配置值,导致内核的
file-max配置太小
修改方法:
sysctl -w fs.file-max = 655360
[参考文章]
http://blog.sina.com.cn/s/blog_50df29030101j4xl.html
2。建立2w+个长链接之后, 就不能继续建立了。发现是端口使用完毕
在配置文件 /etc/sysctl.conf中添加配置,然后sysctl -p通知内核生效配置
原来之前配置file-max是通过 /proc/sys/配置, 但是有次服务器出问题,重启了一下, 内核启动的过程中,又重新加载了 /etc/sysctl.conf这个文件中的配置值,导致内核的
file-max配置太小
修改方法:
[参考文章]
http://blog.sina.com.cn/s/blog_50df29030101j4xl.html