icon

mstdn.jpから外部のサーバへの配送は遅延無く行われています。Fedibirdから観察している限り、LTLの遅延はまったくありません。停止前までも、復帰後も、いずれも遅延無く常にスムースに流れてきています。

--
Mastodonは、一つ一つのアクションに対してジョブが作成され、それを順番に処理していくのですが、ジョブの種類によって、違う順番待ちの列(キュー)があり、メチャクチャ遅延している列と、普通に捌けている列がある状態です。

主にサーバ内(ローカル)の処理を担っている、一番重要なキューがdefaultです。HTLへの配送が激しく遅延していると思いますが、defaultキューが捌き切れていないことが原因です。もの凄い数のジョブが順番待ちになっていることでしょう。

主に外部のサーバへ配送を行う2番目に重要なキューがpushです。外部からみるかぎり、このキューは遅延無く処理されています。何か書き込んだ時点で、すぐにリモートのサーバに届いているのでご注意ください。

他に、外部からの配送を受け取るpullキュー、メール送信のmailersキューがあります。

icon

投稿は、投稿が完了した時点でデータベースに書き込まれています。

LTLは、データベースから直接投稿を取得した場合、最新の内容が取得できます。

一方、ストリーミング(新着投稿を順次受け取って、タイムラインをリアルタイム更新する機能)は、defaultキューに生成されるDistributionWorkerによって処理されるため、defaultキューで順番待ちとなり、逆にリアルタイムに更新されない有様となっています。

ついては、ちょっとサーバへの負荷は増えますが、LTLをストリーミングを使わずに再取得することで、最新のLTLを見ることができます。方法は、 @qk_k あすとらさんの説明がわかりやすいです。
mstdn.jp/@qk_k/104450986751164

ただし、この方法は、メディアオンリーのLTLを取得して、また通常のLTLを取得するため、ちょっと余計な負荷がかかりますね。

別の方法として、スタートタブを開いて、ローカルタイムラインを選択するやり方もありあります。既存のピン留めしたLTLも同時に更新されます。

戻るで戻って、また選択すれば更新されます。

Web site image
_あすらも_ (@qk_k@mstdn.jp)
icon

TIPSです。

リプライ通知は遅延します(相手が気付かない)

お気に入りとブーストは通知が遅延しないので、いずれかの方法で通知すると良いでしょう。

【解説】
現在、mstdn.jpの中でリプライやメンションした場合、defaultキューにLocalNotificationWorkerが積まれるので、順番待ちとなり、通知が遅延します。

他方、お気に入りやブーストはキューを経由せずに通知を行うので、すぐに届きます。

ストリーミングがおかしくなっていると考えている人が多いと思いますが(外形的には間違いではありませんが)、ストリーミングサーバ自体は正常です。

defalutキューが遅延していて、そこを経由する動作が遅延していることが真の原因です。

icon

あ、ごめん、ブーストも通知が遅延するわ。お気に入りするしかなさそう。

icon

ブーストが遅延する原因も、通知がLocalNotificationWorkerで行われる(defaultキューに積まれる)ことが原因です。

icon

ちなみにブーストは投稿(status)の一種として扱われています。皆さんの投稿数にもカウントされていますよね(Mastodon固有の仕様です)。

ActivityPubでは、投稿はCreate Activityとして、ブーストはAnnounce Activityとして表現される、別の概念です。

icon

うん、まぁ確かに寝た方がいいw

icon

@rog ブーストとお気に入りを必ずセットで行う人をフォローするのが効率的かな……。

Mastodonに限らず、ActivityPubというプロトコルの仕様で、お気に入りはその相手だけに通知する仕組みになっているので、当事者以外がお気に入りしたタイミングを拾うことが難しいというのがあります。

icon

mstdn.jpは現在、何らかの原因によりdefaultキューにジョブが大量に積み上がっていて、処理が遅延しているものと思われます。

現在、概ね5時間8分前のジョブが処理されています。

HTLは、LTLの概ね2倍遅延します。

LTLはdefaultキューで処理されるのを1回、HTLはdefaultキューで処理されるのを2回待たなければならないためです。
fedibird.com/@noellabo/1044532

LTLは、全員同じデータを元に表示するので、データベースから取得すれば最新の情報を表示できます。

ストリーミングはdefaultキューで処理されたものが流れてくるので、遅延しています。

クライアントから利用している場合は、ストリーミングは切った方が良いです。

最新投稿は、スタートメニューを表示して、ローカルタイムラインをクリックすることで更新してください。ピン留めした絡むも更新されます。

ホームとリストは、ユーザー別にdefaultキューに積んだジョブにより構築されるものなので、処理が完了するまで最新の内容に更新されません。これは現状、あきらめるしかないです。

Web site image
のえる (@noellabo@fedibird.com)
icon

君たちにとっては、明日の出来事だ(mstdn.jpより)

icon

ちゃんとみえてるよ>ひかげ

icon

いま、ムチャクチャ負荷かけてるユーザーでもなければ、モデレーションしてるヒマないと思うよ。

遅延解消が最優先でメンテしてるハズ。

icon

担当者がサーバいじりはじめたと思うので、ちょこちょこエラーとかでると思うし、少しつながらなくなるかもしれないけど、応援して待とうな。

icon

@kuloma666 そのベスフレ意味あるんか……