Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

あなた宛ての読み込みに時間がかかるまた場合によっては失敗する #2466

Open
tkmrgit opened this issue Jul 7, 2023 · 6 comments

Comments

@tkmrgit
Copy link

tkmrgit commented Jul 7, 2023

💡 Summary

めいv11運用中にゃのですが、あなた宛てを開こうとすると開けないユーザーがいるようです。
以前にこのようなIssueがあったようなのですがめいv11は対応されていにゃかったりしますでしょうか... それも対象外?

あなた宛てが重い #6563
misskey-dev/misskey#6563 (v12の時のIssueかも)

@mei23
Copy link
Owner

mei23 commented Sep 23, 2023

該当のはマージ済みなので関係なさそうだわ

@tkmrgit
Copy link
Author

tkmrgit commented Oct 1, 2023

現象としてはあなた宛を読みこもうとするとDBが巨大になっているせいか、数十秒以上かかってDB読み込みによる負荷もかかっているようです。一定期間(一ヶ月くらい)以上は読みこもうとしない(期間ではなければ何件かに制限する)ような挙動にできたら良いかなと。

なお、通知の返信及び言及での絞り込みの表示方法ではこの現象は起きない模様です。あなた宛てまたはDMのみ起きます(DMは比較的素早く返ってくるので負荷がそれほどひどくはない)

@mei23
Copy link
Owner

mei23 commented Oct 2, 2023

件数減らす
タイムアウト設定する
クエリ見る
インデックス見る

@mei23
Copy link
Owner

mei23 commented Oct 14, 2023

現行

EXPLAIN SELECT *
FROM "note"
WHERE
  '{"xxxxx"}' <@ "note"."mentions" 
OR
  '{"xxxxx"}' <@ "note"."visibleUserIds"
ORDER BY
  "note"."id" DESC
QUERY PLAN
Index Scan Backward using "PK_96d0c172a4fba276b1bbed43058" on note  (cost=0.14..26.82 rows=1 width=2412)
  Filter: (('{xxxxx}'::character varying[] <@ mentions) OR ('{xxxxx}'::character varying[] <@ "visibleUserIds"))
QUERY PLAN
Sort  (cost=28.03..28.04 rows=1 width=1969)
  Sort Key: id DESC
  ->  Bitmap Heap Scan on note  (cost=24.01..28.02 rows=1 width=1969)
        Recheck Cond: (('{xxxxx}'::character varying[] <@ mentions) OR ('{xxxxx}'::character varying[] <@ "visibleUserIds"))
        ->  BitmapOr  (cost=24.01..24.01 rows=1 width=0)
              ->  Bitmap Index Scan on "IDX_NOTE_MENTIONS"  (cost=0.00..12.00 rows=1 width=0)
                    Index Cond: (mentions @> '{xxxxx}'::character varying[])
              ->  Bitmap Index Scan on "IDX_NOTE_VISIBLE_USER_IDS"  (cost=0.00..12.00 rows=1 width=0)
                    Index Cond: ("visibleUserIds" @> '{xxxxx}'::character varying[])

visibleUserIds見なくていい

EXPLAIN SELECT *
FROM "note"
WHERE
  '{"xxxxx"}' <@ "note"."mentions" 
ORDER BY
  "note"."id" DESC
QUERY PLAN
Sort  (cost=16.03..16.03 rows=1 width=2412)
  Sort Key: id DESC
  ->  Bitmap Heap Scan on note  (cost=12.00..16.02 rows=1 width=2412)
        Recheck Cond: ('{xxxxx}'::character varying[] <@ mentions)
        ->  Bitmap Index Scan on "IDX_NOTE_MENTIONS"  (cost=0.00..12.00 rows=1 width=0)
              Index Cond: (mentions @> '{xxxxx}'::character varying[])

@mei23
Copy link
Owner

mei23 commented Oct 14, 2023

@tkmrgit
PostgreSQLバージョンいくつかしら?

下の2つの結果見ること出来るかしら?

EXPLAIN SELECT *
FROM "note"
WHERE
  '{"xxxxx"}' <@ "note"."mentions" 
OR
  '{"xxxxx"}' <@ "note"."visibleUserIds"
ORDER BY
  "note"."id" DESC
EXPLAIN SELECT *
FROM "note"
WHERE
  '{"xxxxx"}' <@ "note"."mentions" 
ORDER BY
  "note"."id" DESC

@mei23
Copy link
Owner

mei23 commented Oct 14, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants