misskey-dev / misskey

🌎 A completely free and open interplanetary microblogging platform 🚀
https://misskey-hub.net/
GNU Affero General Public License v3.0
9.93k stars 1.34k forks source link

perf: フォローやリレー関係にないノートのActivityを受け取った際にノートを実際に作成しないようにする #13940

Open tai-cha opened 3 months ago

tai-cha commented 3 months ago

Summary

相手先がunfollowをきちんと処理できなかったりジョブキューが詰まっている場合にもActivityが送られてきてノートが作成されるケースがあるが、(受け取ったサーバーが)すでに関心のないノートが作成されるためDBやRedisに対するデータ量の無駄な増大が起きる、また無駄なノートの実体の作成コストがかかる

(フォロー関係を見る必要があるが今のFTTだとフォロー関係を見て配信しているはずなのでそこの負荷増大は気を付けながら書けばあまり問題にならなそう)

要考慮: リレー、照会

Purpose

サーバーが関心のないノートに関してノートのエンティティ作成処理をしなくて済むため、パフォーマンス改善の効果が見込めるかもしれない、DBやオブジェクトストレージに無駄なデータを持たずに済む (フォロー関係のキャッシュがIssue作成時点(2024.5.0)ではまだなのでフォロー関係のキャッシュが合わさったらさらに効果的かもしれない)

Do you want to implement this feature yourself?