导读
研发朋友们对应用过载就扩容这个动作已是非常的熟悉,但大家有听说过业务流量突增,nginx也随之需要扩容嘛?我相信很少听过,为什么呢?主要是nginx高效工作起作用,那接下来我们来讲讲我们nginx为何高效。
一. Nginx 为何神物
Nginx 是一种异步框架的web服务器,它可以用作反向代理、负载均衡器和 HTTP 缓存或邮件服务器。Nginx 是免费且开源的,根据类 BSD 许可证的条款发布,意味任何人都可以下载甚至修改源码。Nginx 软件由伊戈尔·赛索耶夫创建并于 2004 年首次公开发布。2011 年成立同名公司以提供支持,现大部分互联网公司都在使用。
二.Nginx 为何高效
一个高性能web服务器典型特点是处理速度快且消耗资源少.尤其在上万连接同时在线的时候.若要做到处理速度快,并发模型的设计尤其关键.服务器并发量取决于两个因素:一是服务器连接的进程数量, 二是每个进程可同时处理的并发请求数量,因而web服务器并发模型由两部分构成,服务的提供方式和连接处理机制, 这两种别具一格的方式使得Nginx在同类型的web服务器中表现优秀。
1. 服务提供方式
一般Web服务器并发处理请求有以下三种方式:多进程方式、多线程方式、异步方式。
多进程 需要内存复制等额外开销,客户端较多时候,服务器性能会降低,典型应用如Apache的prefork模块;
多线程 使用进程中多个线程提供服务,多线程开销较小,典型应用如Apache的worker模块;
异步 则采用非阻塞的方式与每个客户通信,服务器用一个进程进行轮询,典型应用如Nginx的work process进程;
其中效率