0%

lingering_close 延迟关闭的意义

当 Nginx 处理完成调用 close 关闭连接后,若接收缓冲区仍然收到客户端发来的内容,则服务器会向客户端发送 RST 包关闭连接,导致客户端由于收到 RST 而忽略了 response。

Nginx 发送 close 表示不希望再接收新的数据包了,而客户端如果仍然发送数据,就会直接回复 RST 包,客户端收到之后,就会认为是不正常的连接,从而忽略之前的响应内容。

阅读全文 »

优化方法论

对 Nginx 的优化分为三个部分,首先优化 CPU,也就是进程调度模块,第二部分是网络层面的优化,第三部分是磁盘 IO 的性能优化。

阅读全文 »

UDP 反向代理

在实时音视频这样的场景中,UDP 协议更加适合,但是在这种实时的场景下,不会再考虑过期的视频帧或音频帧,UDP 少了很多的协议头部,性能也会更高一些。

阅读全文 »

PREACCESS 阶段的 limit_conn 模块

  • 功能:限制客户端的并发连接数。使用变量自定义限制依据(例如根据客户端 IP 地址),基于共享内存所有 worker 进程同时生效
  • 模块:默认编译进 ngx_stream_limit_conn_module,通过 --without-stream_limit_conn_module 禁用模块
阅读全文 »