@yukiyalien Sidekiqで見る場合は、待機状態が0じゃない状態が恒常的に長く続くかどうか。積まれてる場合は、どのぐらいの時間でそれが解消されるか。
なので、瞬間を見てもあまり意味はなくて、しばらく観察する。
@yukiyalien そのへんのSidekiqの状況をみながら、自分が投稿したあとの反応とか、ホームの遅延とかみて、一時的な負荷で普段は気にしなくて大丈夫なのか、慢性的に処理能力不足なのか判断します。
たとえば自分が何か投稿した直後はしばらく遅延する、などがあります。
これを、そういうものだと割り切って許容してもいいし、遅延しないレベルまでスペックを引き上げてもOKです。このへんは好みですw
弊ぼっちでは僕がたまに発言したポストのリモートへの配送がボトルネックになってる感じなので、あまり遅延が大きくならないようにSidekiqのスレッド数を調整しています。
配送の遅延は、https://github.com/zunda/mastodon/blob/use-ruby33/app/lib/worker_logger.rb みたいなmoduleを書いてあって、https://github.com/zunda/mastodon/blob/use-ruby33/app/workers/activitypub/delivery_worker.rb から配送の結果をログに流して、Libratoというサービスにいい感じにグラフにしてもらってます (僕がたまにしか発言しないのでいい感じのグラフにはならないw)
ざっくり、Sidekiq 1スレッドで1つのリモートサーバにポストを配るのに1秒弱かかっていて、弊ぼっちではメモリの制限やRedisへの接続数の制限も考慮に入れて、合計2プロセス(Pumaに相乗りしてるやつとストリーミングに相乗りしてるやつ) で8スレッドのSidekiqを走らせてます。僕が発言していない時は割と暇そうですw
@noellabo なるほどなるほど、勉強になります!!!