openresty太多capture子请求时内存泄露

88 views
Skip to first unread message

Jared Royal

unread,
Oct 24, 2019, 6:29:02 AM10/24/19
to openresty
我用一个主请求拿数据,通过循环调capture分发给其他服务。
capture总是缓冲整个请求体到内存中。
由于子请求的body也比较大,所以当数据量大时,这个主请求所在woker的内存会飙升。
我尝试设置lua_malloc_trim为1,并定时退出这个主分发请求,但是,新请求到达这个woker时,并没有触发内存回收,还是接着往上涨。
 

望大牛给个解决办法。

Jared Royal

unread,
Oct 28, 2019, 3:40:23 AM10/28/19
to openresty
漏了说了,我的capture是流到upstream server_list,并不是调internal 的接口。
并且当server_list返回非200响应时,出现一定会内存暴涨。

在 2019年10月24日星期四 UTC+8下午6:29:02,Jared Royal写道:

DeJiang Zhu

unread,
Feb 1, 2020, 11:27:05 AM2/1/20
to open...@googlegroups.com
Jared Royal <j.ro...@gmail.com> 于2019年10月24日周四 下午6:29写道:
并定时退出这个主分发请求,

这个请求是什么意思呢? 感觉你是跑了个 timer 么?请求应该不存在定时退出这么一说

但是,新请求到达这个woker时,并没有触发内存回收,还是接着往上涨。

内存回收应该是发生在请求退出的时候,跟新请求到达没关系才对
 
 

望大牛给个解决办法。

--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html
---
您收到此邮件是因为您订阅了Google网上论坛上的“openresty”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openresty+...@googlegroups.com
要在网络上查看此讨论,请访问https://groups.google.com/d/msgid/openresty/51cbf8f4-7cc9-44dd-8bec-0c4938fae298%40googlegroups.com

DeJiang Zhu

unread,
Feb 1, 2020, 11:27:40 AM2/1/20
to open...@googlegroups.com
Jared Royal <j.ro...@gmail.com> 于2019年10月28日周一 下午3:40写道:
并且当server_list返回非200响应时,出现一定会内存暴涨。

从这里看,有点像是你的代码逻辑问题呢
 

在 2019年10月24日星期四 UTC+8下午6:29:02,Jared Royal写道:
我用一个主请求拿数据,通过循环调capture分发给其他服务。
capture总是缓冲整个请求体到内存中。
由于子请求的body也比较大,所以当数据量大时,这个主请求所在woker的内存会飙升。
我尝试设置lua_malloc_trim为1,并定时退出这个主分发请求,但是,新请求到达这个woker时,并没有触发内存回收,还是接着往上涨。
 

望大牛给个解决办法。

--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html
---
您收到此邮件是因为您订阅了Google网上论坛上的“openresty”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到openresty+...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages