沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践!
我们在压测一台目标办事器,想看下负载的连接数,当我们压到必定命量的时刻,控制台忽然报"too many open files",这是因为linux体系创建一个TCP连接的时刻,都邑创建一个socket句柄,每个socket句柄就是一个文件句柄。操作体系对打开的文件句柄数量是有限制的。Unix/Linux 根本哲学之一就是 "一切皆文件",要进步TCP承载量,就须要调剂文件句柄。
第一步:修改文件句柄数量限制
- # 查看当前用户许可TCP打开的文件句柄最大年夜数
- ulimit -n
- # 修改文件句柄
- vim /etc/security/limits.conf
- *soft nofile 655350
- *hard nofile 655350
修改后,退出终端窗口,从新登录(不须要重启办事器),就能看到最新的结不雅了。这是优化的第一步,修改文件句柄限制。
- 留意: soft nofile (软限制)是指Linux在当前体系可以或许遭受典范围内进一步限制用户同时打开的文件数, hard nofile (硬限制)是根据体系硬件资本状况(主如果体系内存)计算出来的体系最多可同时打开的文件数量 平日软限制小于或等于硬限制
【编辑推荐】
- 办事器应当做RAID几?
- 一文懂得什么是无办事器架构及其4大年夜重要弊病?
- Netcraft 2 月 Web 办事器排名,微软持续回温
- 小企业袈末路样选择办事器和操作体系
- Nginx之大年夜并发办事器架构拭魅战技法二
第二步:TCP参数调优
起首我们来看若何标识一个TCP连接?体系是经由过程一个四元组来辨认,(srcip,srcport,dstip,dstport)即源IP、源端口、目标IP、目标端口。比如我们有一台办事192.168.0.1,开启端口80.那么所有的客户端都邑连接到这台办事的80端口膳绫擎。有一种误会,就是我们常说一台机械有65536个端口,那么承载的连接数就是65536个,这个说法是极其缺点的,这就混淆了源端口和拜访目标端口。我们做压测的时刻,应悠揭捉?测客户端,这个客户端的连接数是受到端口数的限制,然则办事器膳绫擎的连接数可以达到成千上万个,一般可以达到百万(4C8G设备),至于上限是若干,须要看竽暌古化的程度。具体做法如下:
大年夜膳绫擎的设备参数中我们可以知道,在Linux内核中为tcp发送和接收都做了缓冲队列,如许可以进步体系的吞吐量。 以上这些参数都是在 /etc/sysctl.conf 文件中定义的,有的参数在文件中可能没有定义,体系给定了默认值,须要修改的话,直接在文件中添加或修改,然后履行sysctl -p敕令让其生效。
推荐阅读
概念版macOS可以用iOS应用了,苹果会把两大系统融合吗?
沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践! iOS和macOS是两款存在着根本差别的产品。运行iOS的iPhone和iPad采取多点式触摸,他们应用的是直接式操作。而Mac则涉及>>>详细阅读
本文标题:一台Linux服务器可以负载多少个连接?
地址:http://www.17bianji.com/lsqh/40548.html
1/2 1