Mover uploads do discourse para espaço livre no servidor

Olá a todos,

Tenho um fórum Discourse em um Droplet da DigitalOcean.
O tamanho do disco é de 160 GB (45 GB livres no momento). Meu site está usando muito espaço para uploads (40 GB). Qual é a melhor opção para mover os uploads? Alguma sugestão? S3, Spaces da DigitalOcean? O que mais?

Obrigado.

1 curtida

Ei @Saiano,

Na minha opinião, é apenas uma questão de preferência pessoal.

Quando foi a última vez que você executou ./launcher cleanup? Isso deve liberar um pouco de espaço para você.

2 curtidas

Dê uma olhada em Usando Armazenamento de Objetos para Uploads (S3 e Clones). Se você sabe como fazer o AWS funcionar, é o mais bem suportado e confiável. O Spaces teve algumas dificuldades técnicas algumas vezes, mas talvez eles já tenham resolvido agora.

Movi alguém para o Spaces e o bunny.net na semana passada e tudo correu bem.

4 curtidas

Configurei um bucket S3 para uploads e backups e está funcionando bem. Ainda não criei uma CDN. Isso pode ser um problema? Alguma sugestão? Devo mover os uploads antigos para o S3 usando rake?

1 curtida

Configurei o CloudFront na AWS. Parece que está funcionando bem.
Vou verificar nos próximos dias.

Últimas tarefas a fazer:

Parar o fórum Discourse - Criar snapshot no DO

Editar o arquivo yml
Reconstruir e testar
então

./launcher enter app
rake uploads:migrate_to_s3
rake posts:rebake

Quanto tempo levará para fazer o upload de 37 GB e rebakear todos os posts?

1 curtida

O tempo necessário depende de muitos fatores. Muito provavelmente, o S3 receberá seu upload tranquilamente na velocidade que seu servidor conseguir enviar, menos algumas sobrecargas. Em um link de 1 Gbit, isso deve levar cerca de 5 minutos.

O rebake e as tarefas resultantes são provavelmente onde a grande maioria do tempo será gasta. Quanto tempo isso levará pode variar drasticamente dependendo de quantas postagens sua instância tem, da quantidade e do tipo de conteúdo que as postagens normalmente têm, e da velocidade do clock da CPU do seu servidor. O tempo que as tarefas resultantes levarão dependerá, em certa medida, das mesmas coisas, bem como de quantos núcleos de CPU estão disponíveis.

Meu entendimento (alguém por favor me corrija se estiver errado) sobre o processo de migração para o S3 e o rebake é que os uploads existentes não serão removidos até algum momento após serem desassociados da postagem (após o rebake ter feito isso naquela postagem), para que a instância possa continuar sendo usada sem perder uploads enquanto a migração e o rebake estão ocorrendo.

Se você estiver em um servidor virtual com apenas um núcleo disponível, pode valer a pena considerar fazer um upgrade para mais núcleos durante o rebake e depois rebaixar após a conclusão. O processo levará significativamente mais tempo em um único núcleo e o desempenho do Discourse pode ser severamente afetado durante esse período.

3 curtidas

provavelmente colocarei o quadro em modo somente leitura enquanto carrego dados para o S3.