Kei*_*cht 8 multithreading ruby-on-rails heroku puma
我已经阅读了Heroku关于Puma和dyno类型的所有文章,我无法得到直接答案.
我看到一些人提到Puma工人的数量应该由核心数决定.我无法在任何地方找到Heroku揭示性能-M或性能-L dyno有多少核心.
在本文中,Heroku暗示了一种方法:https: //devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server
我认为他们建议将线程设置为1并增加Puma工作者的数量,直到你开始看到R14(内存)错误,然后退出.然后增加线程数,直到CPU最大化,虽然我不认为Heroku报告CPU利用率.
有人可以提供指导吗?
(我还想决定是否应该使用一个性能-L或多个性能-M dynos,但我认为一旦我弄清楚如何设置工人和线程就会很清楚)
我目前想出的路线图是这样的:
heroku run "cat /proc/cpuinfo" --size performance-m --app yourappheroku run "cat /proc/cpuinfo" --size performance-l --app yourappstandard-2X/ 来做一些小实验standard-1X以确定PUMA_WORKER价值.
(Max Threads of your desired dyno type could support) / (Max Threads of baseline dyno could support) x (Your experiment `PUMA_WORKER` value on baseline dyno) - (Number of CPU core)
例如,如果PUMA_WORKER是3对我的standard-2X测功机为基准,那么PUMA_WORKER就数performance-m我将开始测试它应该是:
16384/512*3 - 4 = 92
您还应该考虑应用消耗多少内存并选择最低内存.
编辑:以前我的答案是在ps:exec可用之前编写的.你可以阅读官方文档,学习如何运行dyno(s).它应该比以前容易得多.
| 归档时间: |
|
| 查看次数: |
2839 次 |
| 最近记录: |