我预计明天(按等)流量会大幅增加到我的网站。我希望能够在不降低流量的情况下管理流量。我知道我必须添加dyno&s,并且成本不会太高,因为只是暂时阻止队列。
我正在使用New Relic Add-On来监控
然而,在阅读了帖子并倾注了heroku文档后,我无法弄清楚我是如何实际做到这一点的......
我可以运行什么命令,或者从哪个界面启动新的dyno来处理添加的网络流量?然后,当流量恢复到正常水平时,我运行什么命令或从哪个界面消除额外的dyno?
Heroku谈论了许多不同类型的dyno等,但我不知道我应该使用哪一个,然后如何实际启动一个新的。
答案 0 :(得分:1)
Heroku有一个platform-api gem,在这种情况下对你有用。首先将gem添加到Gemfile
并安装它。
gem platform-api
安装完成后,设置heroku客户端,最好是在初始化程序中
$heroku = PlatformAPI.connect(ENV['HEROKU_API_KEY', default_headers: {'Accept' => 'application/vnd.heroku+json; version=3'})
您可以找到如何获取Heroku API KEY here
现在,到缩放部分。我猜你有一些内部指标来决定何时扩展(按进程数,请求数等)。以下命令将扩大您需要的动态数量,
$heroku.formation.update(APP_NAME, PROCESS_NAME, {quantity: DYNO_COUNT})
这将在需要时将应用程序指定的进程缩放为X个dynos。
您可以使用相同的命令缩减动力学数量。此外,下面的命令将帮助您获得当前为特定过程配置的dynos数量
info = $heroku.formation.info(APP_NAME, PROCESS_NAME)
info['quantity']
要获取为您的应用配置的所有dynos的数量,请使用
$heroku.app.info(APP_NAME)
修改强>:
如果您希望手动执行此操作,则可以在heroku的仪表板中执行此操作。或者,如果您更喜欢命令行,请安装heroku toolbelt,以下是扩展应用程序的命令。
heroku ps:scale process_name=dyno_count -a app_name
获取配置的dynos列表
heroku ps -a app_name