下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Apache与Nginx的性能谁更高效?

作者:课课家教育     来源: http://www.kokojia.com点击数:694发布时间: 2016-09-01 10:00:12

标签: Apache服务器Nginx服务器性能测试系统运维

  要想知道Apache与Nginx的性能谁更高效,这就取决于其服务器的并发策略以及其面对的场景,好接下来我们来看看这个两者之间的并发策略和面对的场景是哪一些。

Apache与Nginx的性能谁更高效_Apache服务器_Nginx服务器_性能测试_系统运维_课课家

  1、并发策略:

  我们目前使用的Apache是基于一个线程处理一个请求的非阻塞IO并发策略。这种方式允许一个进程中通过多个线程来处理多个连接,其中每个线程处理一个连接。Apache使用其worker模块实现这种方式,目的是减少perfork模式中太多进程的开销,使得apache可以支持更多的并发连接。

  而Nginx使用的是一个进程处理多个连接、非阻塞IO模式,这种模式最特别的是设计了独立的listener进程,专门负责接收新的连接,再分配给各个worker,当然为了减少任务调度的开销,一般都是由worker进程来进行接收。

  2、面对的场景:

面对场景的分析

  我们可以在上图可以看到,RT监控当中,由于我们是动态网站,网站的大部分内容都需要动态获取、计算、输出,因此响应时间普遍位于100毫秒以上,响应时间较长,服务器必将创建更多的连接处理这些请求。

tcp状态的统计

  而TCP监控当中,可以看到由于TCP协议特有的特性,服务端主动关闭一个连接,连接会进入等待超时的状态,且此状态会持续2MSL(即两倍的数据包最大生存时间,这个时间长短跟操作系统有关,一般是在1-4分钟),因此服务器端会保留一定量time_wait连接,管理大量的连接也会对服务器造成一定的成本,而epoll在多连接并发处理以及管理这两方面,都较于select具有很大的优势。这也正是高并发、高连接的互联网网站大量使用Nginx服务器的原因所在。

  总结:文章中为大家介绍了这两个服务器中的性能优势,在并发策略中和面对的场景中它们都有自己的性能优势,总的来说,这两个服务器还是算比较优秀强大的,在实际的使用中也是有不错的表现。

赞(1)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程