2016-11-02 15 views
5

私はHerumaでPumaとdynoの種類について知ることができるすべての記事を読んだので、まっすぐな答えは得られません。Heroku Performance dynoで実行するPumaワーカーとスレッドの正しい数を決定するにはどうすればよいですか?

私はいくつかの言及を参照してくださいプーマの労働者の数はコアの数によって決定する必要があります。私はHerokuがパフォーマンスMまたはパフォーマンスLのdynoがいくつのコアを持っているかを明らかにすることはできません。この記事で

は、Herokuのアプローチを示唆した: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server

を、私は、彼らはあなたがR14(メモリ)エラーを表示するために開始されるまで1にスレッドを設定し、プーマの労働者の数を増やすことが示唆されていると思います、その後戻ってください。そして、CPUが最大になるまでスレッドの数を増やしてください。ただし、HerokuはCPU使用率については報告していません。

誰でもガイダンスを提供できますか?

(私も私は1つの性能-Lまたは複数のパフォーマンス-M dynosを使用する必要があるかどうかを決定したいが、私は、私は労働者に&スレッドを設定する方法を見つけ出す一度それが明らかになると思う)

+0

最終的には分かりましたか?私は今、まったく同じ問題を抱えています。 "heroku run" cat/proc/cpuinfoを実行しました--app yourappname'(CPU情報)、 'heroku run" cat/proc/meminfo "--app yourappname'(メモリ情報)、' heroku run "top" app yourappname'(古いlinux 'top')ですが、実際に'実用的な 'dynosに入ることはできません。 –

答えて

8

ロードマップ

  1. heroku run "cat /proc/cpuinfo" --size performance-m --app yourapp
  2. heroku run "cat /proc/cpuinfo" --size performance-l --app yourapp
  3. あなたが
  4. を持っているプロセスの情報を書き留め:私は現在、このように考え出しました
  5. モデルタイプ、ファミリ、モデル、インテルプロセッサのステップ番号を調べ、このプロセッサが持つコア数を探します。
  6. このhttps://devcenter.heroku.com/articles/dynos#process-thread-limits
  7. PUMA_WORKER値を決定するためにstandard-2X/standard-1Xといくつかの小さな実験を行います見てください。
  8. このようなあなたの数学の操作を行います。PUMA_WORKERは、ベースラインとしての私のstandard-2Xダイノ上3であれば例えば

(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)

、その後、私はそれをテストするために開始するperformance-mPUMA_WORKER数は次のようになります:

512分の16384 * 3から4 = 92

また、あなたのアプリが消費どのくらいのメモリを検討して選ぶ必要があります最も低いもの。

EDIT:以前は私の答えはps:execより前に書かれていました。 the official documentを読んで、dyno(s)を実行する方法を学ぶことができます。以前よりもはるかに簡単になるはずです。

関連する問題