环境:
1、centos 7 + jexus 5.8.1 + mono 4.4.2 + asp.net mvc 4
做了一点小优化:
一、调整文件描述符数量限制
编辑 /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。
详细说明:http://blog.csdn.net/shaobingj126/article/details/8549494
2、windows server 2008 + iis 7.5 + .net framework 4.6 + asp.net mvc 4(默认配置)
动态页面:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Web.Controllers { public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { return View(); } } }
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <div> 这是一个动态页面 </div> </body> </html>
静态页面:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> 这是一个静态页面 </body> </html>
jexus服务器所在的机器上安装的 ab(apache bench)
hosts配置修改:
vi /etc/hosts
话不多说上结果:
jexus(左静态,右动态):
iis(左静态,右动态):
总结:jexus 在静态页处理上是可以媲美 iis甚至超越的,但是动态页面的处理有点渣啊,毕竟 mono,非微软亲儿子啊,哪怕现在被收购了还是有待优化啊,对于并发要求高的项目目前还是不要使用 mono作为生产服。
欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。