首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

你知道一台Linux服务器可以负载多少个连接吗

首先我们来看如何标识一个TCP连接?系统是通过一个四元组来识别,(src_ip,src_port,dst_ip,dst_port)即源IP、源端口、目标IP、目标端口。比如我们有一台服务192.168.0.1,开启端口80.那么所有的客户端都会连接到这台服务的80端口上面。有一种误解,就是我们常说一台机器有65536个端口,那么承载的连接数就是65536个,这个说法是极其错误的,这就混淆了源端口和访问目标端口。我们做压测的时候,利用压测客户端,这个客户端的连接数是受到端口数的限制,但是服务器上面的连接数可以达到成千上万个,一般可以达到百万(4C8G配置),至于上限是多少,需要看优化的程度。具体做法如下:

03

分析错误:socket accept failed too many open files

步骤: 1、--查看当前各个进程打开的文件句柄数,其结果的第一列表示句柄数,第二列表示进程号 lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more 2、--查看单个进程能够打开的最大文件句柄数量(socket连接也算在里面) ulimit -n 3、对比1和2的结果,如果1接近或超过2了,需要将2的配置调大 ulimit -n <最大文件句柄数> 4、如果想知道打开的文件句柄数最多的进程是哪个应用程序,可以使用如下命令 ps -aef|grep <进程号> 5、如果句柄数调的非常大了,还是不行,可能需要看看/proc/sys/fs/file-max中的值,该值表示系统全局的可用句柄数,可修改 vim /proc/sys/fs/file-max 6、对于正在使用(分配出去)的所有的句柄数、未使用的所有的句柄数、可使用的最大的句柄数这3个值,可以通过以下只读文件查看 vim /proc/sys/fs/file-nr 提示:当分配出去的句柄数接近最大句柄数,而“未使用的句柄数”远大于零时,表明你遇到了一个“句柄”使用高峰,这意为着你不需要增加file-max的值。 原文如下: When the allocated file handles come close to the maximum, but the number of unused file handles is significantly greater than 0, you’ve encountered a peak in your usage of file handles and you don’t need to increase the maximum.

02
领券