Nginx 知识点

1、http请求完成后会断开,但tcp可以不用,因为建立和初始化会有开销,所以通常会保持keep-alive,这样就可以处理多个http请求了。HTTP/1.1 无法并发处理多个请求,HTTP/2 则可以。

  tcp的生存时间看服务器配置:

  keepalive_timeout:设置客户端连接保持活动的超时时间。在超过这个时间之后,服务器会关闭该连接。

  client_header_tomeout:设置客户端请求头读取超时时间。如果超过这个时间,客户端还没有发送任何数据,Nginx将返回“Request time out(408)”错误。

  client_body_timeout:设置客户端请求主体读取超时时间。如果超过这个时间,客户端还没有发送任何数据,Nginx将返回“Request time out(408)”错误,默认值是60。

  send_timeout:设定响应客户端的超时时间。这个超时仅限于两个链接活动之间的时间,如果超过这个时间,客户端没有任何活动,Nginx将会关闭连接。

2、连接方式其实有三种
unix Socket,这个性能效率最高,直接内存交换,但必须应用和 NGX 同在一台服务器上
TCP Socket, 二进制包传递
HTTP, 是基于 TCP 上面的一层文本协议

3、proxy_pass 指向的域名的IP发生变动,但是nginx缓存了旧的IP,这时请求无法处理,会超时,然后nginx日志显示499,而前端显示504 Gateway Time-out

4、up_stream

5、加快请求响应的参数

6、如果是HTTP作为反向代理来说,最大并发数量应该是worker_connections * worker_processes/2。因为作为反向代理服务器,每个并发会建立与客户端的连接和与后端服务的连接,会占用两个连接

7、keepalive_requests

8、https://www.nginx.com/blog/tuning-nginx/

猜你喜欢

转载自www.cnblogs.com/linguoguo/p/11347558.html