4

nginx作为高流量网站的网络服务器会是更合适的选择吗?

我们将建立的网站是一个电子商务网站,如果这会有所作为的话。

无论哪种方式,从技术角度来看,我都对实际的“为什么”很感兴趣。即,nginx从技术角度来看,为什么这种类型的网站会是一个更好的选择,或者相反,为什么它不会呢?

4

1 回答 1

13

马丁,

一般来说,Nginx 更适合高流量站点,因为它的事件驱动架构。它不是在不同的线程中处理每个请求,而是使用非阻塞 I/O 来为每个线程中的许多请求提供服务。

这种架构的重要方面是减少了进程或线程的使用。一个线程可以消耗从 2MB 到超过 64MB 的 RAM。因此,当 Apache 提供 10KB JPEG 时,它实际上可能会使用大量 RAM。如果您的客户端速度较慢(例如智能手机),请求可能会使线程忙几秒钟,情况会变得更糟。

许多人发现在 Apache 之前运行 Nginx 作为代理是一个理想的中间地带。Nginx 与慢速客户端对话,并且可以使用非常少量的 RAM 来完成。当请求转发到 Apache 时,请求速度受限于您的本地连接,而不是远程用户的连接。这意味着网络瓶颈不会使请求(以及它的内存占用线程)保持活动的时间超过必要的时间。

简而言之,您可以获得 Nginx 的低资源优势以及 Apache 的广泛功能集。

于 2012-06-24T00:31:16.983 回答