Auto-ddos

Não tenho certeza se isso é um bug ou não, mas parece que estou sofrendo um ataque de negação de serviço (self-ddos).
Uma vez por dia, o site cai porque parece estar criando um índice:

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

Isso, por sua vez, cria muitas consultas paralelizadas:

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” …

O problema aqui é que estou usando um banco de dados gerenciado que tem um pool de conexões de 197, que é rapidamente preenchido.

Isso cheira a que você está executando em um banco de dados com pouca potência ou mal configurado.

Qual o tamanho do seu banco de dados e quais são as especificações do servidor de banco de dados?

1 curtida

Digitalocean gerenciado
8 GB RAM / 4vCPU / 160 GiB Disco / Apenas primário / TOR1 - PostgreSQL 15

@Eviepayne você conseguiu resolver isso? Se não, você pode nos dizer o que mais tentou e o que descobriu sobre o seu problema? Esta é uma instalação suportada, criada usando as instruções de instalação oficiais?

Pelo que pude perceber, acho que está resolvido. Não sei como consertei, mas parece ter parado após algumas atualizações para revisões de contêineres mais recentes.
Estou em: 4d20baa8754fd782f01fbf8bf5c687cae846915a

Minha instalação está bem afastada da instalação suportada neste momento.
A instalação padrão se aplica, mas o que mudou é:

Banco de Dados Externo (gerenciado com digitalocean)
Cache Externo (valkey gerenciado com digitalocean)
Revisão do contêiner fixada (pinned)
Cliente ACME reconfigurado para desafios DNS

Houve um problema no passado em que eu não conseguia atualizar devido a mudanças nas versões do pgvector e elas não estarem disponíveis no DO para pg15, isso foi resolvido desde então, então atualizei e o comportamento de auto-ddos parece não estar mais ocorrendo.

Acho que a versão em que eu estava antes era: db67a0841e8e14ae70de0890441f8158c50ae3c9

3 curtidas