提升Ngixn服务器性能(一)

  • 来源:
  • 更新日期:2018-05-18

摘要:今天我们为大家准备了一个 Nginx 的教程,一共可以分为三个系列。如果你对 Nginx 有所耳闻或者想增进 Nginx 方面的经验和理解,那么恭喜你来对地方了。 我们会告诉你 Nginx 如何工作及其背后的理念,还有如何优化以加快应用的性能、如何安装启动和保持运行。

 今天我们为大家准备了一个 Nginx 的教程,一共可以分为三个系列。如果你对 Nginx 有所耳闻或者想增进 Nginx 方面的经验和理解,那么恭喜你来对地方了。

002UASMrzy7605pjKJv15&690.jpg

 
我们会告诉你 Nginx 如何工作及其背后的理念,还有如何优化以加快应用的性能、如何安装启动和保持运行。
 
这个教程有三个部分:
 
创建这个系列我们希望一是作为参考书,可以通过快速查找到相关问题(比如 gzip 压缩 等)的解决方式,也可以直接通读全文。为了获得更好的学习效果,我们建议你在本机安装 Nginx 并且尝试进行实践。
 
在 TCP 发展早期工程师需要面对流量冲突和堵塞的问题,在这期间涌现了大批的解决方案,其中之一便是由 John Nagle 提出的算法。
 
Nagle 的算法旨在防止通讯被大量的小包淹没,该理论不涉及全尺寸 tcp 包(最大报文长度,简称 MSS)的处理,只针对比 MSS 小的包。只有当接收方成功地将以前的包(ACK)的所有确认发送回来时,这些包才会被发送。在等待期间发送方可以缓冲更多的数据之后再发送。
 
与此同时诞生了另一个经典的理论—延时 ACK。
 
在 TCP 通讯中发送数据后,需要接收回应包(ACK)来确认数据被成功传达。
 
延时 ACK 旨在解决线路被大量的 ACK 包拥堵的状况。为了减少 ACK 包的数量,接收者等待需要回传的数据加上 ACK 包回传给发送方,如果没有数据需要回传,必须在至少每 2 个 MSS,或每 200 至 500 毫秒内发送 ACK(以防我们不再收到包)。