我可以在最大数量的请求后重启Puma工作人员吗?

时间:2015-08-07 10:41:52

标签: ruby-on-rails heroku garbage-collection passenger puma

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

乘客功能的文档是here

  

PassengerMaxRequests

     

应用程序进程将处理的最大请求数。在提供了许多请求之后,应用程序进程将被关闭,Phusion Passenger将重新启动它。值为0意味着没有最大值:因此,当达到空闲超时时,应用程序进程将被关闭。

     

如果您的应用程序泄漏内存,此选项很有用。通过在一定数量的请求后关闭它,它的所有内存都可以保证被操作系统释放。

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

0 个答案:

没有答案