对于高流量的网站,nginx
是否是更合适的 web 服务器选择?
如果是电子商务网站,这是否有所不同。
我真正感兴趣的是从技术角度出发的实际原因。也就是说,为什么 nginx
从技术角度而言会成为此类网站的更好选择,或者相反,为什么不会?
对于高流量的网站,nginx
是否是更合适的 web 服务器选择?
如果是电子商务网站,这是否有所不同。
我真正感兴趣的是从技术角度出发的实际原因。也就是说,为什么 nginx
从技术角度而言会成为此类网站的更好选择,或者相反,为什么不会?
Martin,
通常情况下,由于其事件驱动架构,Nginx更适用于高流量网站。它使用非阻塞I/O来在每个线程中服务多个请求,而不是在不同的线程中处理每个请求。
这种架构的重要方面是减少进程或线程的使用。一个线程可以消耗从2MB到超过64MB的RAM。因此,当Apache提供10KB的JPEG时,实际上可能使用了大量的RAM。如果您有慢速客户端(例如智能手机),其中请求可能会使线程繁忙几秒钟,那么情况就会变得更糟。
许多人发现在Apache前面运行Nginx作为代理是一种理想的折衷方案。Nginx与慢速客户端交互,并且可以使用非常小的RAM量进行交互。当请求转发到Apache时,请求速度受本地连接的限制,而不是远程用户的连接速度。这意味着网络瓶颈不会让请求(和它的内存占用线程)保持活动状态时间超过必要的时间。
简而言之,您将获得Nginx低资源利益以及Apache宽泛的功能集。