#fedibird #fedibird_info 一連の不調、メモリー使用量のコントロール問題だということがわかりました。
調整して何度か再起動してますが、安定する方向に向かってます。
経路変更の方も再度適用します。
#fedibird #fedibird_info さきほどから起きている現象と対応、書き留めておきます。
データベースが何度か落ちています。データベース自身が自動shutdownする挙動です。
過去の経験から、データベース接続数などのパラメータを大きくとった時に同様の現象が起きており、過負荷が疑われるため、少し数値をしぼって様子見しています。
ルート変更については、Mastodonプロセス側の効率が向上するため、データベースからみると負荷が高まるため、無関係ではないかもしれません。
データベースが落ち着いたら、再度、ルート変更を試してみます。
#fedibird #fedibird_info 原因がはっきりしないので、経路の変更を戻しました。少し様子をみます。
#fedibird #fedibird_info 接続経路の変更など、大きめのチューニングを行いました。
また、それと関連があるかどうかわかりませんが、データベースに問題が発生したため対処しました。こちらは詳細を調査中です。
Mastodonのような時系列・リアルタイムのタイムラインを持つマイクロブログは、様々な処理が同時に行われるよう期待されています。
しかし、通常時は問題無く処理できても、ピーク時には処理が難しいことがあります。
たとえば、みんなが浮上してくるゴールデンタイムや、明けましておめでとうのタイミング、地震発生直後、『バルス』などなど……
このとき、キャパシティを越えた処理を失敗させるのではなく、順番待ちの行列(キュー)の最後尾に追加することで、処理を遅らせて確実に処理しようとします。
言い換えると、失敗する代わりに遅延させるように設計されています。
なお、本当に限界を越えた場合は、キューの最後に追加する処理ですら不可能で、エラーになることもあります \(^o^)/
MastodonのWebUIは、自分の投稿をサーバに送信すると同時に、(手元の)ホームタイムラインに流し込みます。
これにより、投稿を行ったら遅延無く反映されている……ように思わせています。
実際には、サーバに送られた自分の投稿が、あとからストリーミングを通じてホームタイムラインに挿入するよう指示が流れてきます。これは無視します。
この時、ホームタイムラインの処理が遅延していると、実際に反映されるまで時間がかかります。
まだ反映されていないうちにリロードすると、サーバ上の状態にリセットされるので、さきほど投稿直後に差し込んだものが消えてしまいます。
しかし、これは見た目上のことで、あとでホームタイムラインの該当箇所が流れてくるタイミングでちゃんと流れてきます。
まとめると……
ホームが遅延しているときにリロードすると、自分の投稿が消えたように見えますが、追いついた時にちゃんと流れてきますので、ご承知おき下さい。
#fedibird #fedibird_info defaultキュー、pullキューがだいぶ積み上がっていたので、sidekiqのプロセス数とデータベースコネクション数などのパラメータを変更し、より効率の良い状態に調整しました。
負荷が高まっている状態にならないと最適パラメータがわからないので、これでだいぶ良くなったんじゃないかな。
あとは、リソースを追加投入しないでどこまでいけるか……。
#fedibird #fedibird_info ちょっと遅延入ってるみたいなので、手を打ちますねー
#fedibird #fedibird_info サーバ移転、まだ完全に仕上がったわけでもないし、もっと投稿が流れる時間にならないと安定動作するかわからないのですが、ここまではうまくいきました。
予定していた全機能を新サーバに移し替え、現在すべて新サーバで動作しています。
深夜帯はこのままデータベースの最適化を流しておきますので、ちょっと重いときがあるかと思いますが、よろしく!
深夜の落ち着いた時間だからってのあるけど、ちゃんと捌けてるなー。新鯖偉いぞ。
主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。
Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!
Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more と @info を参照してください。