Vanilla vers Discourse Importation de grandes quantités de données (vitesse décroissante)

Nous disposons d’un fichier de données de 26 Go issu de Discourse : 1,3 million d’utilisateurs, 3 millions de sujets et 21 millions de messages. Notre problème est que l’importation commence à 500 000 éléments par minute, mais après quelques minutes, le débit chute jusqu’à 2 000 éléments par minute.

Vous aurez besoin de beaucoup de RAM. Vous pourriez envisager les importateurs en masse, mais je ne pense pas qu’il en existe un pour la version vanilla.

Bonjour Jay. Nous utilisons une instance c5.4xlarge avec AWS et au début, le débit est de 500 000/min, mais il ralentit après quelques minutes.

Le script d’importation peut être redémarré, mais malheureusement, c’est tout à fait normal pour les scripts d’importation.

Oui, quand je redémarre, il saute simplement les données déjà importées, mais le même processus diminue avec le temps :frowning:

Merci de confirmer cela. :frowning: Avec un total de 31 millions de données, cela prendra environ un mois si cela continue à diminuer. As-tu des suggestions pour améliorer cela ? Ou est-ce simplement comme ça ?

Vous avez besoin d’un processeur avec une vitesse de cœur unique élevée, ce qui est assez difficile à trouver dans le cloud.

Ou essayez le script d’importation en masse. Importers for large forums

Il en existe un pour Vanilla : discourse/script/bulk_import/vanilla.rb at main · discourse/discourse · GitHub

Nous utilisons c5.4xlarge d’AWS
vCPU - 16 Mémoire (GiB) - 32
Est-ce suffisant ou devrions-nous passer à une version supérieure ?

Bien sûr, nous allons essayer ce script d’importation en masse. Merci !

Si vous souhaitez exécuter le script d’importation standard aussi rapidement que possible, vous aurez besoin d’un processeur figurant en tête du classement de PassMark CPU Benchmarks - Single Thread Performance. Je ne sais pas ce que vous obtenez sur AWS ou tout autre fournisseur de cloud avec des vCPU. :man_shrugging:

Vous souhaitez utiliser l’outil d’importation par lots.

Chaque fois que j’essaie l’importation en masse, elle s’arrête là. Comme la trace d’erreur s’arrête aux IDs de catégorie, j’ai essayé de remplacer -1 par 0 :

@last_imported_category_id = imported_category_ids.max || -1
en
@last_imported_category_id = imported_category_ids.max || 0

J’ai même essayé de supprimer la catégorie avec l’ID -1, puis de réessayer. Rien n’y fait.

Si vous pouvez engager une aide supplémentaire, contactez @pfaffman sur https://www.literatecomputing.com/ .