Importación de grandes volúmenes de datos de Vanilla a Discourse (disminución de la velocidad)

Tenemos un volcado de datos de Discourse de 26 GB:
1,3 millones de usuarios
3 millones de temas
21 millones de publicaciones

Nuestro problema es que estamos importando a una velocidad de 500.000 por minuto, pero después de unos minutos la velocidad disminuye hasta 2.000 por minuto.

1 me gusta

Necesitarás mucha memoria RAM. Podrías echar un vistazo a los importadores masivos, pero no creo que exista uno para vanilla.

2 Me gusta

Hola Jay. Estamos usando una instancia c5.4xlarge de AWS y al principio alcanza 500k/min, pero después de unos minutos se ralentiza.

El script de importación se puede reiniciar, pero, lamentablemente, esto es simplemente normal en los scripts de importación.

2 Me gusta

Sí, cuando reinicio, simplemente omite los datos ya importados, pero el mismo proceso disminuye con el tiempo :frowning:

1 me gusta

Gracias por confirmarlo. :frowning: Si la tendencia sigue bajando, los 31 millones de datos tardarán alrededor de un mes. ¿Tienes alguna sugerencia para mejorar esto? ¿O es simplemente así como funciona?

Necesitas una CPU con velocidad de núcleo único rápida, algo bastante difícil de encontrar en la nube.

O prueba el script de importación masiva. Importers for large forums

Hay uno para Vanilla: discourse/script/bulk_import/vanilla.rb at main · discourse/discourse · GitHub

3 Me gusta

usamos c5.4xlarge de AWS
vCPU - 16 Memoria (GiB) - 32
¿es suficiente o deberíamos actualizar?

claro, probaré ese script de importación masiva. ¡Gracias!

Necesitarás una CPU de las primeras posiciones de PassMark CPU Benchmarks - Single Thread Performance si quieres ejecutar el script de importación regular lo más rápido posible. No tengo idea de lo que obtienes en AWS o cualquier otro proveedor de nube con vCPUs. :man_shrugging:

3 Me gusta

Quieres usar el importador masivo.

2 Me gusta

Cada vez que intento la importación masiva, se detiene allí. Dado que el rastreo de errores se detiene en los IDs de categoría, intenté cambiar el -1 por un 0:

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

Incluso intenté eliminar la categoría con ID -1 y luego volver a intentarlo. Sin éxito.

Si puedes contratar ayuda adicional, contacta a @pfaffman en https://www.literatecomputing.com/ .

3 Me gusta