A memória do Redis continua aumentando no Discourse 3.4.0.beta3

Recentemente atualizei o Discourse da versão 3.4.0.beta1 para a 3.4.0.beta3. Após a atualização, estamos notando que o uso de memória do fórum está aumentando gradualmente, fazendo com que a aplicação caia. Ao verificar o servidor, podemos ver que o redis-server está consumindo 95% da memória.

Estamos executando o redis-cli flushall diariamente para corrigir temporariamente o problema. A instância do Discourse está hospedada em Docker.

Tentei reverter para a versão anterior, mas ela estava gerando alguns erros durante a reconstrução.

2 curtidas

Posso saber como corrigir isso? É possível reverter para a versão anterior ou você tem outras sugestões?

Não sei como corrigir o Redis, mas já li algo semelhante em algum momento. Pesquisar pode ajudar.

Mas rebaixar a versão é, na maioria das vezes, uma má ideia.

1 curtida

Você não pode fazer downgrade do Discourse.
O Redis não está usando 95% da memória, mas sim 38,9%. Ainda é muito.

Como está sua fila do Sidekiq? /sidekiq/queues

Por favor, encontre os detalhes de /sidekiq/queues

Me avise se precisar de mais detalhes

1 curtida

Estes e-mails são empregos por acaso?

2 curtidas

Duvido. Como posso verificar?

Clique na fila

Posso saber se você está falando sobre esta seção de filas?

Mais uma coisa é que em /sidekiq/scheduler/history encontro Jobs::Chat::EmailNotifications ainda em execução por um longo período

Sim, basta clicar na palavra “low”

1 curtida

Por favor, encontre os detalhes abaixo

Há um problema idêntico aqui:

Com talvez uma correção:

Como você não é o único a experimentar isso, parece um bug. :thinking:

Obrigado, mas acho que não consigo desativar o chat. Tentarei descobrir outra maneira.

Como uma solução temporária, criei um pequeno script bash para limpar a memória do Redis e configurei para ser executado todos os dias às 6h usando um cron job.
Observação: Estou salvando o log em /home/ubuntu/logs. Você pode ignorá-lo se não precisar.

#!/bin/bash

# Define o diretório e o nome do arquivo de log
LOG_DIR="/home/ubuntu/logs"
LOG_FILE="$LOG_DIR/redis.cleanup.$(date +\\%Y-\\%m-\\%d).log"

# Garante que o diretório de log exista
mkdir -p "$LOG_DIR"

# Registra informações sobre o ambiente atual (lado do host)
echo "Executando script em $(date)" >> "$LOG_FILE"

# Executa o lançador do discourse no aplicativo e salva a saída no arquivo de log (lado do host)
echo "comando de limpeza do redis" >> "$LOG_FILE"
docker exec app redis-cli flushall >> "$LOG_FILE" 2>&1

# Indica que o script foi concluído com sucesso (lado do host) e sai
echo "Script concluído com sucesso em $(date)" >> "$LOG_FILE"
exit 0
2 curtidas

Atualização: Parece que foi corrigido automaticamente. Agora que me lembro, tivemos um problema semelhante da última vez que atualizamos a versão, e a memória continuou aumentando, mas se corrigiu depois de um tempo. Parece que é um bug.

2 curtidas

Atualização: Parei o aplicativo e o iniciei novamente, voltei a ter o mesmo problema :slightly_smiling_face:

1 curtida

122M de trabalhos enfileirados definitivamente mostra que algo está errado :thinking:

Quantos usuários você tem no seu Discourse?
Quantos canais chat existem?
Quantos usuários existem nos seus 3 maiores canais de chat?

1 curtida

3.4 grupos de bate-papo têm mais de 2 milhão de membros

Não estou familiarizado com “lakh”, mas o Google diz que é 100.000 :open_mouth: está correto?

1 curtida

Sim, o número exato é 227.254 membros em um único grupo. Temos membros semelhantes em outros 2 ou 3 grupos.

1 curtida