码迷,mamicode.com
首页 > 其他好文 > 详细

第二篇:nginx性能分析

时间:2014-11-26 16:43:29      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:nginx   nginx server linux   性能   安装环境   

目前越来越多的互联网服务器市场被nginx服务器所占领,nginx也变得越来越流行了,那么为何流行,为何成为了主流,在下文结合其他web服务器进行简单的说明。

主流的web服务器有web IIS,apache,lighttpd,nginx,Tomcat和Jetty,当然肯定还有一些其他的我知识面比较窄,没有涉及过。

为什么使用nginx:

WEB IIS是一款运行在windows下面的服务器,而windows作为服务器无论是在性能上面,还是在稳定性上面相比于运行在linux上面的服务器都有先天性的不足,不具有可比性。因此在入境动不动就是成千上万特别是双11,双12这样特殊的日子里面,对高并发要求比较高的情况看下,IIS就被放弃了。


Apache是总所周知的服务器了,可以说是服务器中的元老也不为过,可是为何Apache被冷落了呢,我想主要是基于Apache老了,Apache出现的时候那个时候互联网行业和现在完全不具有可比性,并发访问量都很少,Apache默认同时支持256个Http Request,当然可以通过修改并发访问数,不过据说不能超过3K(没做过实验不知道是不是3K),就这一条在如今的电商时代就秒杀它了。第二个Apache可以说是重量级服务器,在如今内存资源很珍贵的情况下,通过fork进程来达到并发访问,是一种不可取的方式。


Tomcat和Jetty,是完全基于JAVA开发的服务器,而且先天上就是完完全全的重量级服务器,这样也导致了这两种服务器和Nginx完全不具有可比性了。


Lighttpd服务器是一种轻量级的服务器,这种服务器也是和nginx一样是同样基于select/epoll/kqueue的全异步事件驱动模式,可以轻松达到高并发和不惧怕慢连接。从大体上,个人感觉nginx和lighttpd都是很好的web服务器,欧美的喜欢lighttpd,国内偏向于nginx的更加多些。不过细微的差别:

1.nginx是完全抛弃了线程的,lighttpd启动的时候会有辅助线程,存在竞争,这样会导致lighttpd的运行性能比nginx稍微慢些

2.lighttpd会加载动态so库,而nginx是完全静态联编的,所以执行效率会慢些

3.nginx的epoll的ET(边缘触发)的,lighttpd是LT(水平触发)的

综合以上几点nginx性能或许更好一些。


nginx的优异性能:(简单引用淘宝大牛总结的7大特点)

1.更快

2.高扩展性

3.高可靠性

4.低内存消耗

5.单击支持10万以上的并发连接,不过可以不止,主要和内存有关

6.热部署,master进程和worker进程分离,可以不停用nginx的前提下,升级nginx

7.最自由的BSD许可协议


nginx安装环境:

1.需要内核linux2.6以上 (通过uname -a查看linux版本)

2.需要GCC编译器,nginx需要自己编译生成二进制文件,不直接提供,不过我在之前的文章中提到过ubuntu中直接安装nginx模块

3.PCRE库(兼容正则表达式库),如果你需要在nginx.conf中使用正则表达式

4.zlib库(用于对HTTP包的内容做gzip的压缩),如果你在nginx.conf中配置了gzip on

5.open ssl库,如果我们不止支持HTTP还需要更安全的SSL协议上使用HTTP


具体安装和部署请参考之前的nginx第一篇


第二篇:nginx性能分析

标签:nginx   nginx server linux   性能   安装环境   

原文地址:http://blog.csdn.net/nanfenglei23/article/details/41515105

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!