Jexus Web Server支持高并发请求的优化技巧

JerryXia 发表于 , 阅读 (3,536)

Jexus web server
每个工作进程的最大并发数固定为1万,最多可以同时开启4个工作进程,因此,每台Jexus
服务器最多可以到支持4万个并发连接。但是,按照linux系统的默认设定,linux是不能支持这么高的并发请求的,只有对linux进行一些必要的优化,才能达到让Jexus支持大并发的目的。

一、调整文件描述符数量限制

编辑 /etc/security/limits.conf,更改或添加入如下内容:

soft nofile 20000\
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=30\
net.ipv4.tcp_keepalive_time=1200\
net.ipv4.tcp_max_syn_backlog=8192\
net.ipv4.tcp_max_tw_buckets=10000

如果启用了iptables防火墙并加载了ip_conntrack模块,还需加入:

net.ipv4.ip_conntrack_max = 10240

注:ubuntu是“net.ipv4.netfilter.ip_conntrack_max”。

上述参数修改完成后,请用"sysctl -p" 命令使其生效。

三、整调Jexus工作进程数

Jexus默认工作进程数为1,为了支持更大的并发数量,应根据服务器CPU内核数量及内存大小,合理调整工作进程数量,建议每6-8核CPU用一个进程,最多可设4个进程。方法是,编辑
jws.conf,去掉“httpd.processes”项前边的“#”号,把进程数填写到等号右边(Jexus
最大值不超过4)。

注:

1)进程数与cpu的总核数有关,建议8核以内设为2,16核设为3,更多内核数就设为4。

2)进程数还与服务内存及WEB应用所占内存的多少有关,建议每个工作进程平均内存可用量不低于512M。

四、mono版本选择

建议使用mono最新的成熟版本。

添加新评论