mastodon.zunda.ninja is one of the many independent Mastodon servers you can use to participate in the fediverse.
Zundon is a single user instance as home of @zundan as well as a test bed for changes of the code.

Administered by:

Server stats:

1
active users

ぼっちインスタンスでも連合先からバルスのパルス入ってくるよね。PumaとRedisとPostgresは忙しくなりそう。Sidekiqはそうでもないのかな?

@zundan その瞬間だけサーバ落としても意味ないんですよね、きっと…

zunda

@hyuki 連合先からはトゥートがSidekiqのキューに入れられて配送されてきます。その瞬間からどれだけ遅れて配送されてくるかは連合先のキューのたまり具合と処理速度に依存しそう。こちら側のインスタンスが落ちてたりエラーを返したりしたら何日かの間、再試行が続きそうです。

@hyuki @zundan リプライとかでない普通のTootはリトライ数少ないので結構すぐ諦めます。😴 サーバが落ちてレスポンスが返って来なくなると送信側でsidekiqが詰まるんですよねー…🤔 即拒否とか500なら大丈夫なんですけど。

@Clworld @zundan てことは、マストドン落としている間は500(503?)返すほうが礼儀正しい?(厳密に知りたいわけではなく、ふと思った疑問)

@hyuki @Clworld 連合先のキューの処理は早まりそうですよね。ネットワーク接続を受け取らないとTCPレベルでタイムアウトするまでエラーだと知ることができないので。

@zundan @hyuki 多分ポートが閉じてるとかサービスが動いていない場合だとその情報自体は送信元に返るんだと思うんですけど、何かの事情でとかファイアーフォールとかでどこかでパケットが捨てられてたりするとつらい感じですね。

@zundan @Clworld マストドンを落としたとしても、nginxは立ち上げておいたほうが「いい」となりますかね。まあ、nginxはいつも立ち上げているのですが。それともマストドンも別に落としておくほどでもないのかなあ。

@hyuki @Clworld 連合先になるべく迷惑をかけない、つまり、エラーでもエラーじゃなくてもいいからできるだけ素早くレスポンスを返せるようにしておく、というのが目標な気がしますよね。Nginxだけ走らせてPumaを落としておくとNginxが即502を返すとすると、それが一番何も考えなくて良さそうです。Nginxが何度かPumaに接続に行こうとするか、とかNginxを落としたときに、まわりのネットワークがやってきたリクエストにどういう返事をいつ返すか、とか確認してみたい気がしますね。(個人的にはこういうことを考えてピチピチしてるわけですがw)

@hyuki @zundan @Clworld 相手から届いた投稿はSidekiqで遅延実行されます。つまりリクエストを受け付けてSidekiqに積むところまでスムーズにできるのであれば、Pumaは残しておいてもよいでしょう。Sidekiqが動くことでPumaに影響するのであればSidekiqのスレッド数を減らしたり止めておくなりしておき、落ち着いてから戻せば何もロスすることなく捌くことができるかと思います。

Pumaも止める場合、配信のリトライは徐々に間隔を伸ばしながら最大5回再試行されます。タイムアウト待ちにさせたりしなければこれでも十分だとは思いますが、全く受けとらないということであればいっそnginxでPOSTに対して200番台のレスポンスを返して成功したフリをする手もあります。ただいずれにせよ、投稿の配信以外の通知やフォローリクエストも巻き込まれてしまうという問題があります。