我正在运行一个RoR应用程序没有heroku迅速采取可用的512 Mb.我用的是PUMA(4.3.5)。
我已经按照教程在这里和the derailed benchmarks on local machine。本地的perf:speed_over_time和基准测试从未引发任何问题。令人惊讶的是,无论如何,本地机器上的内存都不会增加,而当应用程序部署在heroku上时,它会稳步增加。
有什么想法可以在heroku上调试这个问题吗?在heroky上无法运行出轨的基准测试,因为它抱怨无法连接到postgres服务器(* 用户没有权限。*)
2条答案
按热度按时间yvt65v4c1#
好吧,问题似乎很明显:受刺激的工人人数被定为5人。每一个平均需要80Mb,开始,所以只是一个小的内存增加,但R14没有足够的内存。我已经减少到两个工人,现在没事了。
k2fxgqgv2#
切换到jemalloc进行内存分配可能很有用。https://prathamesh.tech/2021/05/23/adding-jemalloc-to-rails-apps-on-heroku/也可以是有用的。
它允许您的RAM使用率随着时间的推移而下降(通过释放内存)到一定程度(不像默认值,它只会随着时间的推移而上升)。从而减少RAM的使用。