我正在运行一个基于NodeJS的应用程序,连接到mongohq-MongoDB,在一个免费的Dyno上。我想将其迁移到使用Hobby Dyno,并且这样做的动机不仅是避免睡眠时间,而且还可以实现更高的HTTP流量吞吐量。
阅读Scaling文档和Procfile文章使我对在Heroku上如何进行扩展感到困惑。
在Procfile文章中,它说web进程类型是唯一会从Heroku路由网格接收HTTP流量的进程类型。
所以我的问题是:
当已经有一个hobby Dyno正在运行时,执行'heroku ps:scale web+2'会导致在同一Dyno上添加两个web进程或添加两个hobby Dynos(总共三个hobby Dynos)?
我应该如何决定何时水平扩展应用程序(添加相同类型的Dyno)或垂直扩展(更强大的Dyno,如标准-1X/2X)
请注意,本问题的目的是更好地了解Heroku平台上的资源利用情况,因此应用程序优化(例如查找/删除瓶颈等)超出了本问题的范围。
阅读Scaling文档和Procfile文章使我对在Heroku上如何进行扩展感到困惑。
在Procfile文章中,它说web进程类型是唯一会从Heroku路由网格接收HTTP流量的进程类型。
所以我的问题是:
当已经有一个hobby Dyno正在运行时,执行'heroku ps:scale web+2'会导致在同一Dyno上添加两个web进程或添加两个hobby Dynos(总共三个hobby Dynos)?
- 总共三个hobby Dynos意味着有3个Web进程和27个非Web进程可用吗?
// fork worker processes
循环中)?我应该如何决定何时水平扩展应用程序(添加相同类型的Dyno)或垂直扩展(更强大的Dyno,如标准-1X/2X)
- 应该触发水平缩放以处理更高数量的请求吗?
- 应该触发垂直缩放以处理更重的处理(需要更多计算资源以响应相应请求?)
N.B,
在this答案的Scaling部分,对于上面的问题#1,结果Dynos仍不清楚。请注意,本问题的目的是更好地了解Heroku平台上的资源利用情况,因此应用程序优化(例如查找/删除瓶颈等)超出了本问题的范围。