我已经阅读了所有关于Heroku、Puma和dyno类型的文章,但是找不到一个直接的答案。
有提到过Puma worker的数量应该由CPU核数决定。但是我无法找到Heroku公开性能-M和性能-L dyno有多少个核心的信息。
在这篇文章中,Heroku 提出了一种方法: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server
我认为他们建议将线程设置为 1,并增加 Puma worker 的数量,直到开始看到 R14(内存)错误,然后回退。然后增加线程数量,直到 CPU 达到最大值,尽管我不认为 Heroku 报告 CPU 利用率。
是否有人能够提供指导?
(我还想决定是否使用一个性能-L或多个性能-M Dynos,但一旦弄清楚如何设置 worker 和线程,就会很清晰)
heroku run "cat /proc/cpuinfo" --app yourappname
(CPU 信息)、heroku run "cat /proc/meminfo" --app yourappname
(内存信息)和heroku run "top" --app yourappname
(旧版 Linux 的top
),但无法进入实际的“工作” dynos。 - Ming Hsieh