PDA

Vollständige Version anzeigen : Leistung und Threads



Mr. Nice Guy
12-07-2009, 21:54
Mal ne kleine technische Frage. Habe schon oft gehört, dass sehr große Threads in Foren die Performance kaputt machen. Wieso ist das so?

Ich meine, das liegt doch auf dem Speicher, ist alles verlinkt und in Datenbanken, wird abgerufen und fertig. Oder nicht?

Kann mir jemand erklären wie genau, also von der Informatik Seite, so ein EHT Thread zum Beispiel die Performance klaut?

Danke

Kenji the next Lee
12-07-2009, 21:55
oh ja würd mich auch mal interessieren

hundzerberus
14-07-2009, 12:44
Das hängt davon ab, wie das Forum programmiert und wie gut die Datenbank gepflegt ist.
Es gibt Foren, die alle Post pro Thread auf einmal einlesen, was natürlich je länger dauert, je mehr es sind. Und wenn die Datenbank, ich sage jetzt mal vereinfacht, schlecht gepflegt ist nochmal um Faktoren länger.
Wenn das Forum nur so viele Posts einliest, wie es pro Seite darstellt und beim Umblättern dann nachliest sollte es keinen Unterschied machen.
Meistens sind alle Posts eines Forums in einer einzigen Datenbanktabelle gespeichert und über ein Kennzeichen mit dem zugehörigen Thread verknüpft. Der Zugriff auf die Posts eines Threads ist durch Indextabellen aber trotzdem sehr schnell.
So leidet die Performance eines Forums eher generell, je mehr Posts es überhaupt gibt, da sich einfach die zu handhabenden Datenmengen, sowohl in den Datentabellen, als auch in den Indextabellen, erhöhen. Deshalb werden ältere Posts auch archiviert oder gelöscht.
Im Speicher gehalten werden Posts und Threads in der Regel nicht, da der Speicher auf Webservern sehr limitiert ist.
So sind eigentlich alle Foren dafür ausgelegt auch auf "normalen" Webspaces zu laufen, die Otto-Normal-Verbraucher so anmieten kann. Das sind meistens Rechner, auf denen hunderte Webspaces gleichzeitig laufen und da ist der Hauptspeicher pro Webspace nicht selten auf 256 KB begrenzt. Auch die Laufzeiten von Programmen werden dort künstlich begrenzt und bei Überschreitung einfach abgebrochen.
Mietet man dedizierte Rechner an, auf denen nur ein Webspace läuft hat man natürlich entsprechend mehr Resourcen. Das Caching von Datensätzen erfolgt hier aber nicht durchs Forum, sondern die Datenbank. Diese cached Abfrageergebnisse, solange genug Speicher zur Verfügung steht. Werden Beiträge aber wild durcheinander abgerufen nutzt der Cache auch wenig.
Es mag auch Boards geben, die Threadseiten cachen, solange sich darin nichts ändert. Aber dies geschieht dann auf der Festplatte und sie müssen dann aus Dateien nachgeladen werden. Wäre aber trotzdem schneller als eine Datenbankabfrage mit Neuaufbau.