新しいものを表示

原因がはっきりしないので、経路の変更を戻しました。少し様子をみます。

接続経路の変更など、大きめのチューニングを行いました。

また、それと関連があるかどうかわかりませんが、データベースに問題が発生したため対処しました。こちらは詳細を調査中です。

Mastodonのような時系列・リアルタイムのタイムラインを持つマイクロブログは、様々な処理が同時に行われるよう期待されています。

しかし、通常時は問題無く処理できても、ピーク時には処理が難しいことがあります。

たとえば、みんなが浮上してくるゴールデンタイムや、明けましておめでとうのタイミング、地震発生直後、『バルス』などなど……

このとき、キャパシティを越えた処理を失敗させるのではなく、順番待ちの行列(キュー)の最後尾に追加することで、処理を遅らせて確実に処理しようとします。

言い換えると、失敗する代わりに遅延させるように設計されています。

なお、本当に限界を越えた場合は、キューの最後に追加する処理ですら不可能で、エラーになることもあります \(^o^)/

MastodonのWebUIは、自分の投稿をサーバに送信すると同時に、(手元の)ホームタイムラインに流し込みます。

これにより、投稿を行ったら遅延無く反映されている……ように思わせています。

実際には、サーバに送られた自分の投稿が、あとからストリーミングを通じてホームタイムラインに挿入するよう指示が流れてきます。これは無視します。

この時、ホームタイムラインの処理が遅延していると、実際に反映されるまで時間がかかります。

まだ反映されていないうちにリロードすると、サーバ上の状態にリセットされるので、さきほど投稿直後に差し込んだものが消えてしまいます。

しかし、これは見た目上のことで、あとでホームタイムラインの該当箇所が流れてくるタイミングでちゃんと流れてきます。

まとめると……

ホームが遅延しているときにリロードすると、自分の投稿が消えたように見えますが、追いついた時にちゃんと流れてきますので、ご承知おき下さい。

defaultキュー、pullキューがだいぶ積み上がっていたので、sidekiqのプロセス数とデータベースコネクション数などのパラメータを変更し、より効率の良い状態に調整しました。

負荷が高まっている状態にならないと最適パラメータがわからないので、これでだいぶ良くなったんじゃないかな。

あとは、リソースを追加投入しないでどこまでいけるか……。

スレッドを表示

ちょっと遅延入ってるみたいなので、手を打ちますねー

のえる さんがブースト
のえる さんがブースト

どう?
順調に動いてる?

サーバ移転、まだ完全に仕上がったわけでもないし、もっと投稿が流れる時間にならないと安定動作するかわからないのですが、ここまではうまくいきました。

予定していた全機能を新サーバに移し替え、現在すべて新サーバで動作しています。

深夜帯はこのままデータベースの最適化を流しておきますので、ちょっと重いときがあるかと思いますが、よろしく!

深夜の落ち着いた時間だからってのあるけど、ちゃんと捌けてるなー。新鯖偉いぞ。

DBパラメータ変えて再起動。このへんで落ち着くといいな。

うん、何か一つは失敗するね!!

敗因は『pgbouncerのファイルディスクリプタを引き上げておくのを忘れた』でした。

そろそろ「えいやっ」をやろうかな。

目標の停止時間はだいたい5分。

何かあったら あたりから タグ付きで投稿すると思うんでよろしく。

まだ起きてる人は、どうせなら止まるところから戻るところまで立ち会うといいよ。

古いものを表示
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。