Oddbean new post about | logout
 @7840f111 Sidekiqで見る場合は、待機状態が0じゃない状態が恒常的に長く続くかどうか。積まれてる場合は、どのぐらいの時間でそれが解消されるか。

なので、瞬間を見てもあまり意味はなくて、しばらく観察する。 
 @de5bd0b9 なるほどありがとうございます、つまり一定時間観察した上で常に何かしらのタスクが実行待ちになっている状態であれば、捌けていないと判断できるということですかね? 
 @7840f111 そのへんのSidekiqの状況をみながら、自分が投稿したあとの反応とか、ホームの遅延とかみて、一時的な負荷で普段は気にしなくて大丈夫なのか、慢性的に処理能力不足なのか判断します。

たとえば自分が何か投稿した直後はしばらく遅延する、などがあります。

これを、そういうものだと割り切って許容してもいいし、遅延しないレベルまでスペックを引き上げてもOKです。このへんは好みですw 
 @de5bd0b9 なるほどなるほど、勉強になります!!! 
 @7840f111 @de5bd0b9 

弊ぼっちでは僕がたまに発言したポストのリモートへの配送がボトルネックになってる感じなので、あまり遅延が大きくならないように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

https://s3.amazonaws.com/zundan-mastodon/media_attachments/files/111/169/328/699/566/898/original/7481a0fb9c3a3018.png