Sidekiq何本生えてるのかなあ
Conversation
Notices
-
mini_pc@twiddon.com's status on Monday, 15-Feb-2021 18:30:06 JST mini_pc
-
sakasame@twiddon.com's status on Monday, 15-Feb-2021 18:30:04 JST sakasame
@mini_pc サーバーのリソースに余裕があるというのも大きいけど、さすがホスティングサービスを提供するくらいの人はこのへんの設定は百戦錬磨なんやろな…
-
のえる (noellabo@fedibird.com)'s status on Monday, 15-Feb-2021 18:30:04 JST のえる
-
sakasame@twiddon.com's status on Monday, 15-Feb-2021 18:30:05 JST sakasame
@mini_pc これ?この先って見えるのかしら
-
mini_pc@twiddon.com's status on Monday, 15-Feb-2021 18:30:05 JST mini_pc
@sakasame みえないのか~前pull増やしたときは見えたんだけどなあありりりり!
-
sakasame@twiddon.com's status on Monday, 15-Feb-2021 18:30:06 JST sakasame
@mini_pc 内訳はわからないけどうちのプランのSidekiqスレッドは100
-
mini_pc@twiddon.com's status on Monday, 15-Feb-2021 18:30:06 JST mini_pc
@sakasame ここんとこ何本になってるのかなと思って 内訳
-
のえる (noellabo@fedibird.com)'s status on Monday, 15-Feb-2021 18:37:46 JST のえる
@sakasame @mini_pc 一つのプロセスで処理した方が、優先順位が機能するから、案外うまく捌いてくれるのよ。
分割する場合は、負荷の配分を自分で考えて配置しないといけないから、結構面倒。
ホスティングや低スペックサーバの場合CPU数を割り当てられないからプロセスを増やしても効果がないんだけど、強いサーバや複数台構成の場合は、プロセスを増やさないとマルチプロセスの恩恵が受けられないんだ。
プロセス増やすとメモリの使用量も増えるし、キャッシュもそれぞれで持つから、ゴロツキやHostdonの構成は、それで正解だと思うよ。
-
sakasame@twiddon.com's status on Monday, 15-Feb-2021 18:37:47 JST sakasame
-
mini_pc@twiddon.com's status on Monday, 15-Feb-2021 18:48:33 JST mini_pc
-
のえる (noellabo@fedibird.com)'s status on Monday, 15-Feb-2021 18:48:33 JST のえる
@mini_pc @sakasame スレッド(5とか25とか100のやつ)は、例えばフォローインポートの時に、違うサーバにアクセスして、同時に応答を待てる数になるのね。
スレッドが5だと、最大で5つの先に同時にリクエストができる。で、そのうちの3つのサーバの応答が遅い場合、残りの2つは次の処理をできるけど、3つはしばらく塞がったままになっちゃうのね。そうするとパフォーマンスが落ちる。
スレッドが100あると、最大で100箇所のサーバにリクエストできて、終わり次第空いたスレッドを使えるから、詰まりにくい。
Railsはシングルプロセスなので、一つのSidekiqプロセスはCPUを一個使える。CPU数が多いなら、その分プロセスを増やすとCPUをまんべんなく使えるから、パワーアップするよ。
-
のえる (noellabo@fedibird.com)'s status on Monday, 15-Feb-2021 19:49:36 JST のえる
@mini_pc @sakasame 一つのsidekiqプロセスの中にスレッドが5つという意味なんだけど、5つのスレッドがPostgreSQLに接続すると、PostgreSQLの方で5つプロセスが起動するので、実はいいバランスなのかもしれないね。
スレッドを抑えるとPostgreSQLへの同時接続数が抑えられて、一度に捌ける数は減るけど、起動するプロセス数や使用するメモリが少なくて済んで、結果的にトータルでは軽くなったりする。
スペックに余裕があれば増やしてもいいけど、抑えておけば全体に負担が小さくなるんだよ。
スレッド5にしてあるのは小さなサーバ向けのチューニングで、いまうまく動いているなら、そのままにしておいた方がいいね。
-
mini_pc@twiddon.com's status on Monday, 15-Feb-2021 19:49:37 JST mini_pc
@noellabo @sakasame ほほう!ありがとうございます!じゃあうちはCPU4コア(だったと思う)から、5本が妥当なんでガスね~!
-