Vanilla zu Discourse Großer Datenimport (Geschwindigkeit sinkt)

Wir haben einen Daten-Dump von Discourse mit 26 GB:
1,3 Millionen Benutzer
3 Millionen Themen
21 Millionen Beiträge

Unser Problem ist, dass wir mit 500.000 Einträgen pro Minute importieren, aber nach einigen Minuten die Geschwindigkeit auf bis zu 2.000 pro Minute abfällt.

1 „Gefällt mir“

Du wirst viel RAM benötigen. Du könntest die Massenimport-Tools in Betracht ziehen, aber ich glaube nicht, dass es eines für Vanilla gibt.

2 „Gefällt mir“

Hallo Jay. Wir nutzen eine c5.4xlarge-Instanz bei AWS. Anfangs liegt die Rate bei 500.000 pro Minute, doch nach einigen Minuten verlangsamt sie sich.

Das Import-Skript ist neu startbar, aber das ist leider bei Import-Skripten ganz normal.

2 „Gefällt mir“

Ja, beim Neustart werden die bereits importierten Daten übersprungen, aber derselbe Prozess nimmt im Laufe der Zeit ab :frowning:

1 „Gefällt mir“

Danke für die Bestätigung. :frowning: Bei dieser Abnahmerate würde die Gesamtmenge von 31 Millionen Dateneinheiten etwa einen Monat in Anspruch nehmen. Hast du einen Vorschlag, wie man das verbessern kann? Oder ist das einfach so?

Du benötigst eine CPU mit hoher Single-Core-Geschwindigkeit, was in der Cloud ziemlich schwer zu finden ist.

Oder probiere das Bulk-Import-Skript aus. Importers for large forums

Es gibt eine Version für Vanilla: discourse/script/bulk_import/vanilla.rb at main · discourse/discourse · GitHub

3 „Gefällt mir“

Wir verwenden c5.4xlarge von AWS
vCPU - 16 Speicher (GiB) - 32
Ist das ausreichend oder sollten wir aufrüsten?

Sicher, ich werde das Bulk-Import-Skript ausprobieren. Danke!

Wenn du das reguläre Import-Skript so schnell wie möglich ausführen möchtest, benötigst du eine CPU, die an der Spitze von PassMark CPU Benchmarks - Single Thread Performance steht. Ich habe keine Ahnung, was du bei AWS oder einem anderen Cloud-Anbieter mit vCPUs bekommst. :man_shrugging:

3 „Gefällt mir“

Sie möchten den Massenimporter verwenden.

2 „Gefällt mir“

Immer, wenn ich den Massenimport versuche, bleibt er dort hängen. Da der Traceback bei den Kategorie-IDs stoppt, habe ich versucht, -1 in 0 zu ändern:

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

Ich habe sogar versucht, die Kategorie mit der ID -1 zu löschen und es dann erneut versucht. Keine Erfolg.

Wenn Sie zusätzliche Hilfe einstellen können, wenden Sie sich an @pfaffman unter https://www.literatecomputing.com/ .

3 „Gefällt mir“