html tool

2017年11月10日星期五

Linux下高并发socket最大连接数所受的各种限制


http://www.cnblogs.com/dasn/articles/5566001.html


当前使用到的修改:
server 端:
文件句柄数修改
修改/etc/security/limits.conf文件,在文件中添加如下行:
speng soft nofile 10240
speng hard nofile 10240

client端【负载生成器】
1. 文件句柄修改
修改/etc/security/limits.conf文件,在文件中添加如下行:
speng soft nofile 10240
speng hard nofile 10240

2. 第一步,修改/etc/sysctl.conf文件,在文件中添加如下行:
net.ipv4.ip_local_port_range = 1024 65000
这表明将系统对本地端口范围限制设置为1024~65000之间。请注意,本地端口范围的最小值必须大于或等于1024;而端口范围的最大值则应小于或等于65535。修改完后保存此文件。
第二步,执行sysctl命令:
[speng@as4 ~]$ sysctl -p

【popexizhi:
自己遇到的问题,是测试nginx的TCP连接,这里nginx的设置如下:
http://www.nginx.cn/76.html
一)
worker个数和可连接的tcp数量 
#启动进程,通常设置成和cpu的数量相等
worker_processes  20;

#工作模式及连接数上限
events {
    #epoll是多路复用IO(I/O Multiplexing)中的一种方式,
    #仅用于linux2.6以上内核,可以大大提高nginx的性能
    use   epoll;
 
    #单个后台worker process进程的最大并发链接数    
    worker_connections  65530;
二)nginx最大的空tcp连接保持时间

http {
 client_header_timeout 300; #默认是60s
}
【popexizhi:这个名字很奇怪,自己只是打开TCP连接什么都没做只是要保持这个连接,修改这个就可以】

参考:http://m.jb51.net/article/113621.htm
语法 client_header_timeout time
默认值 60s
上下文 http server
说明 指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1).仅当在一次read中,没有收到请求头,才会算成超时。如果在超时时间内,client没发送任何东西,nginx返回HTTP状态码408(“Request timed out”)



没有评论:

发表评论