Das MEGATOPIC: öffentliches Gut oder öffentliche Gefahr?

Mein Vorschlag wäre, Chat-Produkte mit dem Ziel zu evaluieren, sie nahtlos zu integrieren.

Ephemera gehört nicht in Discourse.

3 „Gefällt mir“

Du musst hier sehr vorsichtig sein. Vielleicht solltest du nacheinander jeweils nur ein ‘Chat’-Thema führen und die alten Themen gewissenhaft löschen, denn für jeden Megathema, das weiterhin existiert, entsteht eine massive Leistungseinbuße für den Server, und diese Einbuße steigt mit jedem einzelnen Seitenaufruf.

Am besten integrierst du jedoch ein echtes Chat-Tool, wie hier beschrieben:

3 „Gefällt mir“

Ich stimme dem zu 100 % zu. Manchmal bringen sie einen Mehrwert für die Community, aber nicht in einem Ausmaß, das meiner Meinung nach Code-Änderungen erfordert.

3 „Gefällt mir“

Könntest du diesen Performance-Nachteil etwas genauer erläutern? Geht es dabei um geschlossene und archivierte Themen? Das Schließen von Themen bei 10.000 Beiträgen ist kein Problem, aber das Löschen wäre eine völlig andere Sache.

Meine Community liebt Discourse und ist seit über 15 Jahren forumbasiert. Sie werden keinen Chat-Raum nutzen und würden sehr negativ auf das Löschen alter Themen reagieren. Falls es durch das bloße Vorhandensein dieser Themen zu einer ernsthaften und wachsenden Performance-Problematik kommt, werde ich sie entweder als statische Seiten rendern oder auf eine andere Plattform migrieren müssen.

Mir ist bewusst, dass unsere Community nicht ganz zu dem passt, wie ihr euch die Nutzung von Discourse vorstellt. Doch genau diese Community bin ich verantwortlich, und einige Änderungen kann ich ihnen nicht einfach aufzwingen. Tatsächlich waren wir als Community noch nie stärker als jetzt mit Discourse. Es würde mich sehr ärgern, auf eine andere Plattform wechseln zu müssen, wenn alle mit unserem aktuellen Setup so zufrieden sind.

8 „Gefällt mir“

Megathemen müssen weitgehend ausgeblendet werden – selbst wenn sie geschlossen und/oder archiviert sind, verschlechtert sich die Serverleistung je mehr Benutzer ein Megathema aufrufen. Idealerweise sollten Megathemen gelöscht werden, sodass Sie zu jedem Zeitpunkt nur eines aktiv haben? Das ist meine Empfehlung. Je mehr Megathemen Sie haben, desto höher ist das Risiko.

Wenn Sie eine Menge Geld in die Lösung investieren können, könnten Sie Ihren Server massiv überdimensionieren und mehr Megathemen unterstützen – dies würde jedoch weiterhin die durchschnittliche Performance für alle Themen beeinträchtigen.

4 „Gefällt mir“

Selbst wenn ein Thema geschlossen ist, erzeugt es Daten, Traffic und Last.

Denken Sie daran, dass die Leseposition jedes Benutzers für jedes Thema aufgezeichnet wird. Jeder Beitrag kann geliked werden, die Interaktion mit Megathemen ist auch nach dem Schließen weiterhin möglich, ganz zu schweigen von der Menge an Rauschen, das es in Ihre Suchergebnisse werfen kann.

2 „Gefällt mir“

Das erklärt immer noch nicht, warum gerade Megathemen Probleme verursachen. Warum ist ein Thema mit 10.000 Beiträgen schlechter als zehn Themen mit je 1.000 Beiträgen? Bei Letzteren gibt es zwar dieselbe Gesamtzahl an potenziell zu likenden oder durchsuchbaren Beiträgen, aber zehnmal so viele Lesepositionen und Themen, die durchsucht werden müssen. Allein aufgrund deiner Erklärung würde ich schließen, dass eine größere Anzahl kleinerer Themen schlechter ist. Es muss also noch mehr dahinterstecken.

4 „Gefällt mir“

Weil du jeweils nur ein Thema auf einmal lädst. Du kannst problemlos 10 Themen mit je 1.000 <füge hier eine leichte Sache ein> nacheinander laden, aber 10.000 auf einmal zu laden ist viel schwieriger.

2 „Gefällt mir“

Ich bin jedoch neugierig auf die Details. Standardmäßig werden nur eine bestimmte Anzahl von Beiträgen geladen, bevor man scrollt, also liegt es offensichtlich nicht an der Anzahl der sichtbaren Beiträge. Liegt es am Zeitstrahl? An der Themenzusammenfassung? Oder generell an verschiedenen linearen oder über-linearen Algorithmen, die auf der Gesamtzahl der Beiträge in einem Thema basieren?

Mir liegen Megathemen nicht wirklich, je nachdem, was man als „mega

6 „Gefällt mir“

Hier ist eine Data-Explorer-Abfrage, die ich geschrieben habe, um Ihre Frage zu beantworten. Sie können sie mit verschiedenen Themen und Verschiebungen ausprobieren.

-- [params]
-- int :topic_id = 107216
-- int :offset = 10000

SELECT "posts"."id" FROM "posts" 
WHERE ("posts"."deleted_at" IS NULL) 
AND "posts"."topic_id" = :topic_id
AND "posts"."post_type" IN (1,2,3) ORDER BY "posts"."sort_order" ASC LIMIT 20 
OFFSET :offset

Hier ist ein normal großes Thema und ein riesiges Thema:

Beispielzeit: 3,4 ms
  ->  Index Scan using index_posts_on_topic_id_and_sort_order on posts  (cost=0.43..1925.22 rows=477 width=8)

Beispielzeit: 353,9 ms, 739,6 ms (die Zeit variiert je nach Datenbank-Caching)
  ->  Index Scan using index_posts_on_topic_id_and_sort_order on posts  (cost=0.43..605155.88 rows=161255 width=8)

Ich glaube, ich habe Zeiten gesehen, die länger als 750 ms waren.

Hier sind die Median- und 99. Perzentil-Zeiten. Die Medianzeit ist überraschend gut, aber die Natur eines Medians ist, dass man nicht sagen kann, ob es am 60. Perzentil viel, viel schlechter ist als im Medianfall.

Hier ist ein weiterer Server (er hat eine riesige Anzahl von Kategorien, was ebenfalls einen Leistungseinbruch verursacht, also ist es ohne Megathemen kein direkter Vergleich), aber Sie können sehen, dass die Medianleistung die Hälfte beträgt und der schlimmste Fall ebenfalls viel besser ist:

11 „Gefällt mir“

Ich auch, nur aus Neugier.

Ich verstehe, dass die Navigation in einem Megathema aufgrund dieser Erklärung zu Leistungsproblemen führen könnte:

Allerdings verstehe ich nicht, wie ein oder mehrere Megathemen die Navigation auf anderen Seiten des Forums beeinträchtigen können, beispielsweise sogar die Themenliste. :red_question_mark:

Indem man dem Server eine enorme Last aufbürdet. Jede einzelne Megatopic-Last entspricht einem 100-fachen Performance-Verlust! Siehe den Beitrag direkt über deinem.

5 „Gefällt mir“

Hallo,

Das Forum, das ich gerade nach Discourse importiere, enthält viele Mega-Themen:


(und die Beiträge sind noch nicht vollständig importiert!)

Da Mega-Themen in Discourse nicht gut funktionieren, was sollte ich praktisch tun? (Ich plane, in Zukunft einen Chat für die Community einzuführen, vielleicht Discord, aber ich möchte wissen, was ich mit den aktuellen Themen machen soll.)
Soll ich sie löschen?
Soll ich sie aufteilen und schließen?
Wenn ich sie aufteile, wie viele Nachrichten sollten pro Thema sein? Ist der Standardwert von 10.000 ausreichend, oder raten Sie eher dazu, ihn zu verringern?

3 „Gefällt mir“

Die Aufteilung in 10.000 Blöcke sollte ausreichend sein.

8 „Gefällt mir“

Darüber hinaus sehen die meisten davon in Ordnung aus. Der echte Blutverlust beginnt bei 10.000, und der Großteil dessen, was im Screenshot zu sehen ist, liegt weit unter 10.000.

6 „Gefällt mir“

Was ist der aktuelle Stand zur Performance-Beeinträchtigung des mega topic? Unser COVID-Pandemie-Nachfolge-Thema nähert sich 10.000 Beiträgen, und wir analysieren mögliche Verlangsamungen in der jüngeren Vergangenheit.

4 „Gefällt mir“

Ich weiß nicht, wie die Server-Statistiken „sein sollten“, aber ich kann unsere Werte für eine Community mit vielen Megathemen teilen. Momentan haben wir 15 geschlossene Themen mit jeweils 10.000 Beiträgen und deutlich mehr als 50 offene Themen mit jeweils über 2.000 Beiträgen. Die meiste Forenaktivität findet zu jedem Zeitpunkt in einer relativ kleinen Anzahl sehr aktiver Themen statt.

Unser Server läuft derzeit bei DigitalOcean mit 4 virtuellen CPUs, 8 GB RAM und 160 GB Festplattenspeicher, was 40 $ pro Monat kostet. Vielleicht alle paar Monate erhalten einige Benutzer kurzzeitig die Meldung „extreme Last“. Das tritt nur auf, wenn ein Live-Event stattfindet und viele Benutzer gleichzeitig posten – zum Beispiel durchschnittlich mehrere Beiträge pro Minute in einem einzigen Thema über einen Zeitraum von ein bis zwei Stunden.

Zu allen anderen Zeiten läuft die Performance reibungslos ohne Probleme. Wir werden langfristig eher mehr Festplattenspeicher benötigen, bevor wir irgendetwas anderes upgraden müssen.

6 „Gefällt mir“

Das ist eine vernünftige Zahl, 2.000 Beiträge sind kein Problem, ein paar Dutzend Themen mit über 10.000 Beiträgen dürften ebenfalls in Ordnung sein (besonders wenn sie geschlossen sind). Die Gefahrenzone beginnt, wenn viele aktive Megathemen vorhanden sind. Ich würde „viele

10 „Gefällt mir“

Obwohl Mega-Themen bei Meta generell kein Problem darstellen, scheinen sie für viele Communities eine natürliche Möglichkeit zu sein, Diskussionen zu organisieren. Mit anderen Worten: Die Diskussion hat keinen natürlichen Abschlusspunkt.

Inderes ist ein finnisches Unternehmen, das Finanzanalysen für den Aktienmarkt bereitstellt. Kürzlich haben sie ihre Discourse-Community gestartet, die angesichts der Region und der Nische ein enormer Erfolg war.

Die Diskussionen werden hauptsächlich nach einzelnen Aktien oder Anlagevehikeln organisiert, wie beispielsweise $AAPL oder $TSLA. In nur etwa zwei Jahren nähern sich viele dieser Themen nun der Marke von 10.000 Beiträgen. Das ist ein fantastischer Beweis für das Konzept von Discourse (eine pulsierende Community, die von Grund auf neu aufgebaut wurde), unterstreicht aber gleichzeitig das Problem der Mega-Themen.

4 „Gefällt mir“

Wenn nichts anderes hilft, kannst du sie nach Jahren aufteilen. Das wird im ersten Beitrag erklärt. Megathemen können eine Weile funktionieren, aber wenn es zu viele davon gibt, wird deine Site letztendlich zusammenbrechen.

(Außerdem wird die Suche zur Alpträume, wenn du Zehntausende von Beiträgen im selben „Thema“ hast usw. – im Grunde hast du einen Chatraum gebaut.)

5 „Gefällt mir“