Jexus web server 5.1 每个工作进程的最大并发数固定为1万,最多可以同时开启4个工作进程,因此,每台Jexus V5.1服务器最多可以到支持4万个并发连接。但是,按照linux系统的默认设定,linux是不能支持这么高的并发请求的,只有对linux进行一些必要的优化,才能达到让Jexus支持大并发的目的。
一、调整文件描述符数量限制
编辑 /etc/security/limits.conf,更改或添加入如下4行内容:
* soft nofile 20000
* hard nofile 20000
root soft nofile 20000
root hard nofile 20000
二、调整网络参数
编辑“/etc/sysctl.conf”,更改或添加如下内容:
net.core.somaxconn=8192
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_fin_timeout=20
net.ipv4.tcp_keepalive_time=1200
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.tcp_max_tw_buckets=5000
如果启用了iptables防火墙并加载了ip_conntrack模块,还需加入:
net.ipv4.ip_conntrack_max = 10240
注:ubuntu是“net.ipv4.netfilter.ip_conntrack_max”。
上述参数修改完成后,请用"sysctl -p" 命令使其生效。
三、整调Jexus工作进程数
Jexus默认工作进程数为1,为了支持更大的并发数量,应根据服务器CPU内核数量及内存大小,合理调整工作进程数量。方法是,编辑 jws.conf,去掉“httpd.processes”项前边的“#”号,把进程数填写到等号右边(Jexus v5.1版最大值不超过4)。
注:
1)进程数与cpu的总核数有关,建议4核以内设为2,8核设为3-4,更多内核数就设为5-8。
2)进程数还与服务内存及WEB应用所占内存的多少有关,建议每个工作进程平均内存可用量不低于512M。
四、mono版本选择
建议使用mono最新的成熟版本。
作者:yunei 发布时间:12年09月22日 可选操作:
删除 回复对Session有影响吗?是否还要调整Session的相关设定?
比如,web.config中的sessionState不能配置为“Inproc”
作者:Mike.Hua 发布时间:14年07月18日 可选操作:
删除 回复作者:yunei 发布时间:14年07月18日 可选操作:
删除 回复想了解一下,这篇文章所提及的优化技巧是“多进程”模式吗??
谢谢!
作者:Mike 发布时间:14年07月21日 可选操作:
删除 回复http://blog.csdn.net/shaobingj126/article/details/8549494
作者:那一剑风情 发布时间:14年07月25日 可选操作:
删除 回复补充:有资料建议不要启用 net.ipv4.tcp_tw_recycle=1,否则在NAT等环境下容易出现链接错误。
作者:yunei 发布时间:21年02月22日 可选操作:
删除 回复另外,再加二个定义:
net.ipv4.tcp_syn_retries=3
net.ipv4.tcp_synack_retries=3
作者:yunei 发布时间:21年02月22日 可选操作:
删除 回复