Bonjour à tous,
J’ai un serveur Discourse sur un droplet DigitalOcean.
La taille du disque est de 160 Go (dont 45 Go libres actuellement). Mon site utilise beaucoup d’espace pour les fichiers uploadés (40 Go). Quelle est la meilleure option pour déplacer ces uploads ? Avez-vous des suggestions ? S3, Spaces sur DigitalOcean ? Autre chose ?
Merci.
Salut @Saiano,
À mon avis, c’est juste une question de préférence personnelle.
Quand as-tu lancé ./launcher cleanup pour la dernière fois ? Cela devrait libérer un peu d’espace pour toi.
Consultez Utiliser le stockage objet pour les uploads (S3 et clones). Si vous savez configurer AWS, c’est la solution la mieux prise en charge et la plus fiable. Spaces a rencontré quelques difficultés techniques à plusieurs reprises, mais peut-être les ont-ils résolues maintenant.
J’ai migré quelqu’un vers Spaces et bunny.net la semaine dernière, et tout s’est bien passé.
J’ai configuré un bucket S3 pour les uploads et les sauvegardes, cela fonctionne très bien. Je n’ai pas encore créé de CDN. Cela peut poser problème ? Avez-vous des suggestions ? Faut-il déplacer les anciens uploads vers S3 en utilisant Rake ?
J’ai configuré CloudFront sur AWS. Cela semble fonctionner correctement.
Je vais vérifier au cours des prochains jours.
Dernières étapes à effectuer :
Arrêter le forum Discourse – Créer une capture sur DO
Modifier le fichier yml
Reconstruire et tester
Ensuite :
./launcher enter app
rake uploads:migrate_to_s3
rake posts:rebake
Combien de temps faudra-t-il pour télécharger 37 Go et recompiler tous les messages ?
La durée dépend de nombreux facteurs. Très probablement, S3 acceptera votre téléchargement à la vitesse que votre serveur peut envoyer, moins certaines surcharges. Sur une connexion de 1 Gbit, cela devrait prendre environ 5 minutes.
Le recalcul et les tâches qui en résultent sont sans doute là où la grande majorité du temps sera consacrée. La durée peut varier considérablement selon le nombre de messages de votre instance, la quantité et le type de contenu que contiennent généralement les messages, ainsi que la fréquence d’horloge du processeur de votre serveur. La durée des tâches résultantes dépendra également en partie des mêmes facteurs, ainsi que du nombre de cœurs CPU disponibles.
À ma connaissance (qu’on me corrige si je me trompe), le processus de migration vers S3 et de recalcul implique que les fichiers uploadés existants ne seront supprimés qu’à un certain moment après leur dissociation du message (une fois que le recalcul aura traité ce message), afin que l’instance puisse continuer à être utilisée sans que les uploads ne manquent pendant la migration et le recalcul.
Si vous êtes sur un serveur virtuel avec un seul cœur disponible, il pourrait être judicieux d’envisager une mise à niveau vers plus de cœurs pour le recalcul, puis de revenir à la configuration initiale une fois celui-ci terminé. Le processus prendra considérablement plus de temps sur un seul cœur, et les performances de Discourse pourraient être gravement affectées pendant cette période.
Je vais probablement mettre le tableau en mode lecture seule pendant le téléchargement des données vers S3.