-
Notifications
You must be signed in to change notification settings - Fork 9
Dyno size
HerokuのDynoはデフォルトの設定である("1X")では、1個のCPUと512MBのメモリの割当を得ます。もしあなたのアプリケーションが、より多くのCPUの割当、またはより多くのメモリを必要としている場合、Dynoを、プロセスタイプ毎にCPUの割当とメモリを2倍にしてくれる設定である"2X"へとリサイズすることができます。
ユースケースとしては、より並列性の高いRuby/Unicornを使っているWeb Dynoの実行や、Worker Dynoでの大きい画像処理や地理情報処理を含みます。
正しいDynoのサイズの決定のために、log-runtime-metrics
Labs フラグを使ってメモリの使用量を測ってみてください。
ログの計算はheroku logs -t
、log2viz、またはログを利用するアドオンを使うと確認する事が出来ます。
For help determining the right dyno size measure memory usage with the log-runtime-metrics
Labs flag.
The logged metrics can be viewed with heroku logs -t
, log2viz, or any addon that consumes logs.
Dyno Size | Memory (RAM) | CPU Share | Price/dyno-hour |
---|---|---|---|
1X | 512MB | 1x | $0.05 |
2X | 1024MB | 2x | $0.10 |
もし、あなたのアプリケーションが1個の 2X Web Dyno だけで実行していた場合、スリープ状態になるでしょう。
Heroku Toolbeltを使って、resize
コマンドであなたのDynoをリサイズします :
:::term
$ heroku ps:resize web=2X worker=1X
Resizing dynos and restarting specified processes... done
web dynos now 2X ($0.10/dyno-hour)
worker dynos now 1X ($0.05/dyno-hour)
プロセスタイプのDynoのサイズを確認するために、ps
コマンドを使用します :
:::term
$ heroku ps
=== web (2X): `bundle exec unicorn -p $PORT -c ./config/unicorn.rb`
web.1: up 2013/03/27 14:27:58 (~ 6h ago)
web.2: up 2013/03/27 14:47:04 (~ 6h ago)
web.3: up 2013/03/27 15:08:23 (~ 5h ago)
=== worker (1X): `bundle exec rake worker:job`
worker.1: up 2013/03/27 14:39:04 (~ 6h ago)
worker.2: up 2013/03/27 15:08:24 (~ 5h ago)
worker.3: up 2013/03/27 14:30:55 (~ 6h ago)
ダッシュボード上のアプリケーションのリソースページを使っています :
メモリを集中させたOne-off Dynoも作る事が出来ます :
:::term
$ heroku run --size=2X rake heavy:job
Schedulerも同様に2XのOne-off Dynoでの実行をサポートしています。