Oddbean new post about | logout
 @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