Selbst-DDoS

Ich bin mir nicht sicher, ob dies ein Fehler ist oder nicht, aber ich scheine mein Forum-Selbst-DDoS zu erleben.
Einmal am Tag fällt die Seite aus, weil sie anscheinend einen Index erstellt:

CREATE INDEX CONCURRENTLY temp_idx_recent_regular_post_search_data
ON post_search_data USING GIN(search_data)
WHERE NOT private_message AND post_id >= 0

Dies wiederum erstellt viele parallelisierte Abfragen:

SELECT “posts”.“id”, “posts”.“user_id”, “posts”.“topic_id”, “posts”.“post_number”, “posts”.“raw”, “posts”.“cooked”, “posts”.“created_at”, “posts”.“updated_at”, “posts”.“reply_to_post_number”, “posts”.“reply_count”, “posts”.“quote_count”, “posts”.“deleted_at”, “posts”.“off_topic_count”, “posts”.“like_count”, “posts”.“incoming_link_count”, “posts”.“bookmark_count”, “posts”.“score”, “posts”.“reads”, “posts”.“post_type”, “posts”.“sort_order”, “posts”.“last_editor_id”, “posts”.“hidden”, “posts”.“hidden_reason_id”, “posts”.“notify_moderators_count”, “posts”.“spam_count”, “posts”.“illegal_count”, “posts”.“inappropriate_count”, “posts”.“last_version_at”, “posts”.“user_deleted”, “posts”.“reply_to_user_id”, “posts”.“percent_rank”, “posts”.“notify_user_count”, “posts”.“like_score”, “posts”.“deleted_by_id”, “posts”.“edit_reason”, “posts”.“word_count”, “posts”.“version”, “posts”.“cook_method”, “posts”.“wiki”, “posts”.“baked_at”, “posts”.“baked_version”, “posts”.“hidden_at”, “posts”.“self_edits”, “posts”.“reply_quoted” …

Das Problem hierbei ist, dass ich eine verwaltete Datenbank verwende, die einen Connection Pool von 197 hat, der schnell gefüllt wird.

Das riecht danach, als ob Sie eine unterdimensionierte oder falsch konfigurierte Datenbank betreiben.

Wie groß ist Ihre Datenbank und was sind die Spezifikationen des Datenbankservers?

Digitalocean verwaltet
8 GB RAM / 4 vCPU / 160 GiB Festplatte / Nur Primär / TOR1 - PostgreSQL 15