提升Ngixn服务器性能(六)

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

摘要:client_header_buffer_size 和 large_client_header_buffers 如果 header 不能跟 client_header_buffer_size 匹配上,就会使用 large_client_header_buffers。如果请求也不适合 large_client_header_buffers,将给客户端返回一个错误提示。对于大多数的请求来说,1KB 的缓存是足够的。但是,如果一个包含大量记录的请求,1KB 是不够的。

 client_header_buffer_size 和 large_client_header_buffers

002UASMrzy7605pjKJv15&690.jpg

 
如果 header 不能跟 client_header_buffer_size 匹配上,就会使用 large_client_header_buffers。如果请求也不适合 large_client_header_buffers,将给客户端返回一个错误提示。对于大多数的请求来说,1KB 的缓存是足够的。但是,如果一个包含大量记录的请求,1KB 是不够的。
 
如果请求行的长度超限,将给客户端返回一个 414(请求的 URI 太长)错误提示。如果请求的 header 长度超限,将抛出一个 400(错误请求)的错误代码
 
client_max_body_size
 
设置客户端请求主体的最大允许范围,在请求头字段中指定“内容长度”。如果您希望允许用户上传文件,调整此配置以满足您的需要。
 
配置
 
Keep-Alive
 
HTTP 所依赖的 TCP 协议需要执行三次握手来启动连接。这意味着在服务器可发送数据(例如图像)之前,需要在客户机和服务器之间进行三次完整的往返。
 
假设你从 Warsaw 请求的 /image.jpg,并连接到在柏林最近的服务器:
 
对于另一次请求,你将不得不再次执行整个初始化。如果你在短时间内发送多次请求,这可能会快速累积起来。这样的话 keep-alive 使用起来就方便了。在成功响应之后,它保持连接空闲给定的时间段(例如 10 秒)。如果在这段时间内有另一个请求,现有的连接将被重用,空闲时间将被刷新。
 
Nginx 提供了几个指令来调整 keepalive 设置。这些可以分为两类:
 
在客户端和 nginx 之间 keep-alive
 
在 nginx 和上游服务器之间 keep-alive
 
以上就是我们对如何提升服务器性能的技巧分享,希望大家通过本文可以更好地掌握这些技巧学以致用!