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