首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在请求数量最多后,我能否重新启动Puma工作人员?

在请求数量最多后,我能否重新启动Puma工作人员?
EN

Stack Overflow用户
提问于 2015-08-07 10:41:51
回答 1查看 835关注 0票数 11

Phusion客运提供了在N个处理内存问题的请求之后重新启动工作进程的能力,我想知道Puma是否有类似的设置?我没有在文档或代码中找到任何合适的东西,但我以前并没有使用过Puma,所以可能缺少了一些东西。

乘客特性的文档是这里

PassengerMaxRequests 应用程序进程将处理的最大请求数。在处理了这么多请求之后,应用程序将被关闭,Phusion乘客将重新启动它。值为0表示没有最大值:因此,当达到空闲超时时,应用程序进程将被关闭。 如果应用程序正在泄漏内存,则此选项非常有用。通过在一定数量的请求之后关闭它,操作系统保证释放它的所有内存。

目前,我在Heroku上遇到了问题,我们在Rails应用程序上达到内存配额限制的时间大约为12-14小时,这纯粹是因为GC导致内存使用量急剧增加。我也会尝试调优我们的GC设置,但是我发现这在过去的生产环境中是一个有用的特性,所以如果它可用的话,我仍然想设置它。

EN

回答 1

Stack Overflow用户

发布于 2022-07-14 00:57:20

你绝对可以做到!不知道你是不是该这么做。还有其他指标可以依赖,比如内存使用吗?

但是要回答您的问题,您可以创建一个Rack类,您可以将其放在应用程序之前。在该机架应用程序中,传递所有相同的变量,并添加1到计数器。

然后,当计数器命中所需的数字时,执行美洲狮热重启。在为当前请求提供服务之后,您可能需要计划热重新启动。

您也可以有一个经常性的定期Rake任务,只需检查计数器和hotrestart美洲狮。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31875769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档