二.3种WEB服务器的比较:
server | Apache | Nginx | Lighttpd |
Proxy代理 | 非常好 | 非常好 | 一般 |
Rewriter | 好 | 非常好 | 一般 |
Fcgi | 不好 | 好 | 非常好 |
热部署 | 不支持 | 支持 | 不支持 |
系统压力比较 | 很大 | 很小 | 比较小 |
稳定性 | 好 | 非常好 | 不好 |
安全性 | 好 | 一般 | 一般 |
技术支持 | 非常好 | 很少 | 一般 |
静态文件处理 | 一般 | 非常好 | 好 |
Vhosts虚拟主机 | 支持 | 不支持 | 支持 |
反向代理 | 一般 | 非常好 | 一般 |
Session sticky | 支持 | 不支持 | 不支持 |
注:在相对比较大的网站,节约下来的服务器成本无疑是客观的。而有些小型网站往往服务器不多,如果采用 Apache 这类传统 Web 服务器,似乎也还能撑过去。但有其很明显的弊端: Apache 在处理流量爆发的时候(比如爬虫或者是 Digg 效应) 很容易过载,这样的情况下采用 Nginx 最为合适。
建议方案:
Apache 后台服务器(主要处理php及一些功能请求 如:中文url)
Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)
Lighttpd 图片服务器
总体来说,随着nginx功能得完善将使他成为今后web server得主流。
三.性能测试:
将分别测试3种软件在对动态页面和静态页面请求及并发时的响应时间
l 静态页面 搜狐首页
LIGHTTPD
n/-c(ab参数) | cpu% | Mem | RequestsperSecond | Time taken for tests |
100000/100 | 64 | 60 | 462.75 | 21.6 |
100000/200 | 67 | 60 | 312.07 | 32.4 |
100000/500 | 83 | 60 | 137.24 | 72.8 |
100000/1000 出现错误丢包 | 94 | 60 | 126.6 | 78.9 |
NGINX
n/-c(ab参数) | cpu% | Mem | RequestsperSecond | Time taken for tests |
100000/100 | 34.6 | 140 | 943.66 | 10.597 |
100000/200 | 35.6 | 110 | 924.32 | 10.818 |
100000/500 | 34.3 | 110 | 912.68 | 10.956 |
100000/1000 | 37 | 160 | 832.59 | 12.106 |
APACHE
n/-c(ab参数) | cpu% | Mem | RequestsperSecond | Time taken for tests |
100000/100 | 40.6 | 170 | 690.72 | 14.47 |
100000/200 | 41.1 | 180 | 685.39 | 14.59 |
100000/500 | 42.3 | 190 | 633.64 | 15.78 |
100000/1000 | 43.1 | 200 | 547.53 | 18.26 |
l 动态页面 内部社区首页
LIGHTTPD
n/-c(ab参数) | cpu% | Mem | RequestsperSecond | Time taken for tests |
1000/100 | 50 | 200 | 33.54 | 29.816 |
1000/200 | 52 | 210 | 30.43 | 32.858 |
1000/500 | 54 | 230 | 25.79 | 38.76 |
1000/1000 | 62 | 250 | 24.83 | 40.28 |
NGINX
n/-c(ab参数) | cpu% | Mem | RequestsperSecond | Time taken for tests |
1000/100 | 53.8 | 250 | 83.12 | 12.305 |
1000/200 | 55.8 | 250 | 74.05 | 13.504 |
1000/500 | 56 | 260 | 58.99 | 16.951 |
1000/1000 | 58 | 260 | 43.41 | 23.347 |
APACHE
n/-c(ab参数) | cpu% | Mem | RequestsperSecond | Time taken for tests |
100000/100 | 60 | 200 | 27.37 | 36.541 |
100000/200 | 61 | 220 | 23.82 | 41.981 |
100000/500 | 73 | 150 | 20.59 | 48.562 |
100000/1000 | 53 | 200 | 27.18 | 36.796 |
l PHPINFO函数页
LIGHTTPD
n/-c(ab参数) | cpu% | Mem | RequestsperSecond | Time taken for tests |
100000/100 | 45 | 20 | 168.06 | 59.504 |
100000/200 | 47 | 22 | 140.64 | 71.103 |
100000/500 | 49 | 24 | 52.80 | 189.386 |
100000/1000 | 在请求到4840时测试测试程序死掉 |
NGINX
n/-c(ab参数) | cpu% | Mem | RequestsperSecond | Time taken for tests |
100000/100 | 70 | 120 | 143.46 | 69.706 |
100000/200 | 72 | 130 | 140.57 | 71.140 |
100000/500 | 73 | 150 | 135.87 | 73.601 |
100000/1000 | 77 | 160 | 132.18 | 75.657 |
APACHE 出现丢包
n/-c(ab参数) | cpu% | Mem | RequestsperSecond | Time taken for tests |
100000/100 | 70 | 180 | 245.73 | 40.694 |
100000/200 | 72 | 190 | 245.79 | 40.684 |
100000/500 | 75 | 200 | 241.29 | 41.443 |
100000/1000 | 77 | 220 | 236.74 | 42.239 |