somaxconn 和file-max参数的不同

来源:10-4 TCP建立连接优化

朱小悬

2020-03-09

老师,您好!
file-max表示操作系统可以打开的最大文件句柄数,那和somaxconn有什么不同呢

写回答

1回答

酷田

2020-03-10

file-max代表整个系统得最大打开文件句柄数,这里包括很多,比如应用程序打开文件、socket建立链接所耗费得文件(这里面有多种,比如客户端发起SYN包请求建立连接,就需要耗费一个文件句柄),也就是说整个系统所有需要打开得文件句柄都计算在file-max内。

但是somaxconn则不一样了,它仅仅指的是所有建立TCP连接已经进入到ACCEPTED队列中得文件句柄数,比如3个客户端请求与服务器建立TCP连接,其中2个完整走完了3此握手,进入到应用程序得ACCEPT队列,还有1个没走完3此握手,这里somaxconn只耗费了2个,未完成3此握手得不计算在内。


还有一个重要得区别,就是file-max会吧所有打开得文件句柄计算在内,比如你创建得1.txt,2.txt等这些都算在内,但是somaxconn仅仅会计算socket文件。

不知道这样说可以明白吗?有问题继续沟通哈

0
0

Nginx体系化深度精讲 给开发和运维的刚需课程

快速精通Nginx1.17 ,体系与深度并存,轻松搞定企业级痛点问题

668 学习 · 171 问题

查看课程