#fedibird #fedibird_info 負荷対策のために、いくつか変更を行いました。
まず、絵文字リアクションをタイムライン上でリアルタイム反映させるためのストリーミングイベントを有効・無効にする設定項目のデフォルト値を、リアルタイム反映しない設定に変えました。
(先程、臨時で全員止めた措置は解除しました)
また、アクティブユーザーと判定する期間を標準の7日へ戻しました。これはプログラムではなく環境設定によるもので、fedibird.comではこれまで20日間としていました。
これにより、投稿の配送やリアルタイムイベントの対象となる人数が大幅に減ることとなります。
しばらく様子を見ていますが、いまのところバランスがとれているので、とりあえずこれで行きましょう。
昨日の対策ですが、絵文字リアクションのストリーミングで関連の負荷が約50%削減、アクティブ期間の短縮でfan-out負荷が23%削減という試算となっています。
リアクションのストリーミングは、Fedibird自身の絵文字リアクションに起因するものもさることながら、misskey.ioをはじめとするMisskey系サーバからやってくるもの起因もかなりの件数にのぼります。
misskey.ioが健在な一昨日でいうと、misskey.ioから45,599件の絵文字リアクションが届いており、misskey.cf, misskey.artがそれぞれ2,200件、fedibird.comは3,500件というところです。全体では83,274件ありました。
これを、これを600人から300人へのストリーミング配送に減らしたという具合です。
ちなみにトップは圧倒的に村上さんで、こちらに届いているリアクションだけでトータル6,679件あります。
fan-out負荷というのは、投稿をフォロワーのホームやタイムラインに挿入する処理の負荷のことで、
Mastodonではアクティブとみなしたユーザーのタイムラインに挿入処理をします。
これを、10,876人から8,392人分に減らしたという計算です。
QT: https://fedibird.com/@noellabo/109947845940427990 [参照]
負荷のピークはTwitterが調子が悪かった時間帯で、それがなおってきて、後にmisskey.io陥落して、という順番で、みるみる負荷が落ちていったのですが、
ともかくこの対策は効果が大きく、ピーク時のCPU 300%ぐらいの負荷が90%ぐらいまでは落ちました。
このほかにも、Fedibirdは通常のMastodonに比べると重い機能や負荷が高めになる設定値になっている箇所があるため、そこを最適化ないし制限していくことで、負荷を軽減する余地はまだあります。
まあ、必要に応じて対応していきますので、よろしくお願いします。