MastodonでURLを記載した投稿をすると、その投稿が様々なMastodonサーバに配送されて、各サーバからプレビューカード(サムネイルやサマリーなどを事前確認できるOGPやoEmbedの情報)を取得するアクセスが行われる。
例えばいま12,539人のフォロワーがいる私が投稿すると、827のサーバに配送される。
うちMastodon系は442サーバあるので、自分のサーバを含めて少なくとも443件のプレビューカードアクセスが行われる。
リレーによりフォローされていないサーバにも配送されており、実際はもう少し多い。
各サーバで生成されたプレビューカードはしばらく保持され共有されるため、他のURL投稿者や投稿が広がる範囲にもよるが、最大でもMastodonサーバ数を超えない程度には収まる。
アクセスはHTTPのGETリクエストで、キャッシュ済みの値を返せば良いケースが多いため、適切に対応がとられていれば(CDNを用いたり、nginxのキャッシュで応答するなど)さほどの負荷にはならないが、想定していない場合は過負荷でサーバダウンすることもある。
配送タイミングにバラツキがあることに加え、Mastodonが意図的に1秒から60秒のランダム遅延を入れているので、アクセスタイミングは多少は分散する。
Misskeyについては詳しくないのでざっくり。
サーバでプレビューカードを事前生成・提供する機能はないのでクライアントで対応が必要。
ただし、リモートのhtmlや画像を所属サーバ経由で取得し、クライアントそれぞれでアクセスしないようにして共有することと、画像のセンシティブ判定などが行われている。(Summaly)
タイミングをずらす遅延処理などはしてない。即座に表示されるが、アクセス集中するのは厳しいハズ。
Mastodonと違い、URLを並べると複数のプレビューを展開する。