当前位置: 首页 > 工具软件 > ngx-moment > 使用案例 >

浅谈ngx.exit,ngx.eof,ngx.timer.at

晋骏喆
2023-12-01

最近要快速搭建日志采集服务端,想到了基于openresty。这里主要介绍下ngx.exit,ngx.eof,ngx.timer.at这三者的区别。

1.ngx.exit 立即中断当前http请求,后续lua代码将不会再执行,底层socket通道还存在,只要没超过保活时间,如果用了proxypass做子请求,不影响。


2.ngx.eof 立即中断当前http请求,后续的lua代码将继续执行,底层socket通道也立即断开,如果用了proxypass做子请求,子请求也会断开。


3.ngx.timer.at 这个是nginx提供的轻线程,主要做后台任务执行用,一般和ngx.exit配合使用。


下面是自己搭建的openresty性能压测的情况 分别对应上面三种写法,压测工具是apachebench,压测环境是4核4g虚拟机

3900/1并发用户数,6000/20000并发用户数)
3600/1并发用户数,9300/20000并发用户数

4700/1并发用户数,9300/20000并发用户数
 类似资料: