第二篇:nginx性能分析

目前越来越多的互联网服务器市场被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第一篇

时间: 2024-08-30 05:34:51

第二篇:nginx性能分析的相关文章

第003篇 服务器性能分析

谈到服务器性能,可能第一个从脑中蹦出来的是:查询速度?这确实是我们最常接触的方面,但性能其实还包括例如CPU利用率.可扩展性等很多方面.通过总结发现,不管修改的是哪一方面,最终都在影响一个量:时间.因此不妨将性能定义为:完成任务所需时间的度量(性能即响应时间).那什么是优化呢?如果认为优化是降低CPU使用率 那么此时可能你的任务需要更长的时间来完成.如果认为是提升了每次查询(select,update,delete,insert等)的量,这其实只是吞吐量的优化,此时你的CPU的压力可能已经增大了

我的第二篇--nginx安装问题之路径问题

这几天还是一直在搭建nginx,并且要在nginx的基础之上配置naxsi(WAF防火墙)并使它生效,但是随之而来的问题也会有很多,也许因为我是个新手,所以遇到的问题要多,不解的问题也要很多,不知道又没有一刻你为你在学习Linux的时候没有专心的研究过这些问题而感到有些遗憾.好了,下面我来说一下我遇到的一些问题解决和小小的总结. 在上一篇的时候,我总结过ubuntu上nginx+naxsi的安装,那是在初步的时候,按照某篇帖子的步骤安装下来,改动的只是我具体的路径,直到编译安装,都是按照命令一个

nginx之旅(第二篇):nginx日志管理、nginx防盗链、nginx虚拟主机

一.nginx日志管理 Nginx访问日志主要有两个参数控制 1) log_format #用来定义记录日志的格式(可以定义多种日志格式,取不不同名字即可) log_format log_name string 2) access_log #用来指定日至文件的路路径及使用的何种日志格式记录日志 access_log logs/access.log main; log_format格式变量含义: 字段 含义 remote_addr 客户端地址 remote_user 客户端用户名 time_loc

超全整理!Linux性能分析工具汇总合集

出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列. 本文档主要是结合Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具的博文,搜集Linux系统性能优化相关文章整理后的一篇综合性文章,主要是结合博文对涉及到的原理和性

SQL2005性能分析一些细节功能你是否有用到?(二)

原文:SQL2005性能分析一些细节功能你是否有用到?(二) 上一篇:SQL2005性能分析一些细节功能你是否有用到? 我简单的提到了些关于SQL性能分析最基本的一些方法,下面的文章我会陆续补充.前面提到了根据SQL的执行IO和执行计划来分析,还有一个特别重要的参数,就是SET STATISTICS TIME. 第一: SET STATISTICS TIME 定义:SET STATISTICS TIME (Transact-SQL)  显示分析.编译和执行各语句所需的毫秒数. 语法:SET ST

Linux 性能分析工具汇总合集

出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列. 本文档主要是结合Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具的博文,搜集Linux系统性能优化相关文章整理后的一篇综合性文章,主要是结合博文对涉及到的原理和性

Linux性能分析工具汇总合集

出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列. 本文档主要是结合Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具的博文,搜集Linux系统性能优化相关文章整理后的一篇综合性文章,主要是结合博文对涉及到的原理和性

性能分析神器VisualVM

VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回收器.执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作.本文主要介绍如何使用 VisualVM 进行性能分析及调优. 目录: 准备工作 内存分析篇 内存堆Heap 永久保留区域PermGen CPU分析篇 线程分析篇 参考文献 准备工作 自从 JDK 6 Update 7 以

PHP 性能分析第三篇: 性能调优实战

注意:本文是我们的 PHP 性能分析系列的第三篇,点此阅读 PHP 性能分析第一篇: XHProf & XHGui 介绍 ,或  PHP 性能分析第二篇: 深入研究 XHGui. 在本系列的 第一篇 中,我们介绍了 XHProf .而在 第二篇 中,我们深入研究了 XHGui UI, 现在最后一篇,让我们把 XHProf /XHGui 的知识用到工作中! 性能调优 不用运行的代码才是绝好的代码.其他只是好的代码.所以,性能调优时,最好的选择是首先确保运行尽可能少的代码. OpCode 缓存 首先