web-dev-qa-db-ja.com

誰かが「herokups:scaleweb = 1」を説明できますか

次のコマンドを入力すると、すべてがどうなるかについての簡単な説明を探しています。

heroku ps:scale web=1 

アプリをデプロイするために、Herokuは舞台裏で何をしていますか? Herokuを使用してデプロイしているところですが、プロセスをよりよく理解したいので、お願いします。ありがとう!

14
Ahmed Haque

このコマンドはアプリをデプロイしません。デプロイした後、起動します。

アプリケーションをデプロイすると、herokuは「スラッグ」を作成します。アプリの実行可能なzipバージョンが保存されます。次に、現在のスラッグを取得してherokuのサーバーの1つで起動する「dynos」を起動できます。

ランニング heroku ps:scale web=1は、アプリを1つの実行中のdynoにスケーリングします。つまり、現在、1つのサーバーでアプリを実行しています。

アプリを再度デプロイすると、新しいスラッグが生成されて保存され、現在実行中のdynoが破棄されて、新しいバージョンのコードで新しいものに置き換えられます。

21
Damien MATHIEU

アプリをherokuに新たにデプロイするたびに、アプリが実行される場所が1つ起動しますdyno。サーバーと考えてください。このサーバーは、一度に多数のリクエストを処理することはできません。

したがって、これらすべての一括リクエストを処理するには、アプリの複数のインスタンスを実行する必要があります。つまり、コマンドを使用して同じアプリケーションのTomcatで複数のインスタンスを実行するのと同じように、herokuで利用可能なスペアリソースを使用して複数のdynoを実行します(もちろん制限内)。

heroku ps:scale web=<number_dynos_u_want>

Herokuが負荷分散を行います。したがって、アプリを水平方向にスケーリングして、より多くの負荷を処理できます。これがこの概念をクリアすることを願っています!

Webダイノの数を1にスケーリングします。
このトピックについてはたくさんのドキュメントがあると思います。
https://devcenter.heroku.com/articles/scaling
https://devcenter.heroku.com/articles/dynos

1
Detached

他の答えは正しいですが、コマンドの実際の内訳を理解することが役立つと思う人もいるかもしれません。

  • psは、dyno(〜仮想マシンインスタンス)に影響を与える多くのコマンドの前に付けるコマンドです。 「プロセスステータス」を表すlinuxpsコマンドに関連していると思います。
  • ps:scaleは、プロセスを実行するdynoの数を増やすために使用されます。
  • ps:scale web=1は、1つのWebダイナモでプロセスを実行することを指定します。

Heroku CLIコマンドのインデックスはここにあります: https://devcenter.heroku.com/articles/heroku-cli-commands

0
Andy