2009-03-27 6 views
1

Vor einer Weile haben wir unser halbwegs beliebtes Forum auf einen neuen dedizierten Server (mit demselben Host) übertragen, und uns ist etwas Seltsames aufgefallen. Zuerst verwendeten wir den neuen Server, um nur die Datenbank zu hosten, da dies das größte Problem war. Dann haben wir später die Forum-Dateien übertragen und die DNS für die Domain geändert.Die Datenbankbandbreite ist im Vergleich zur Serverbandbreite viel höher. Normal?

Wenn wir die Bandbreite zurückblicken verwendet sehen wir dies für den Bytes vom Server gesendet:

database use: 100k/sec 
whole forum use: 25k/sec 

Hinweis: Bytes vom Server empfangen war durchweg sehr niedrig.

Also ist es normal für eine Forum-Datenbank, 4-mal mehr Netzwerkverkehr zu verwenden, als der Server tatsächlich an den Benutzer zurücksendet? Es klingt für mich sehr ineffizient, als fordere ich mehr als das, was von der Datenbank benötigt wird, aber dies ist die neueste Version von vBulletin, über die wir hier sprechen.

Antwort

3

Es ist bekannt, dass vBulletin unglaublich viel Datenverkehr zwischen Webserver und Datenbank verwendet. Sie schlagen vor, dass Sie ein gekreuztes cat6-Ethernet-Kabel auf einem dedizierten Gbit-NIC zwischen Ihren Servern laufen lassen, wenn dies der Fall ist.

Ich würde sagen, es ist schlechtes Design (vielleicht weil die mehr Logik in der Anwendungsebene als in der Datenbank), wo sie viel mehr Daten herausgreifen, als sie tatsächlich dem Client präsentieren.

Also ich würde sagen, es ist normal für vBulletin, aber nicht normal in den meisten anderen Software-Lösungen.

Wenn Sie zu diesem Thema googlen, glaube ich, dass Sie eine Menge Leute mit dem gleichen Problem finden würden.

Beispiel: http://www.vbulletin.org/forum/archive/index.php/t-111191.html

Wenn Ihre Hosting-Maßnahmen falsch Bandbreite, können Sie für riesige Menge an Binnenverkehr am Ende zahlen auch nicht cool :)

0

Es ist sehr ineffizient ist. Richtig geschriebene SQL sollte genau die Daten zurückgeben, die Sie wollen, und die Protokolle für solche Übertragungen wurden so entworfen, dass sie sehr effizient sind. Ihre App fügt dann HTML, Javascript, Bitmaps usw. hinzu und sollte daher mindestens doppelt so viel Verkehr generieren wie die Datenbank.

0

Vielleicht gibt die Datenbank UTF-16 zurück und Sie zeigen UTF-8-Seiten?

1

Klingt wie Szenario, wo MySQL behandelt wird, als ob es flache Datei wäre, und Datenlogik ist in der PHP, nicht in der SQL.

+0

Ich verstehe jetzt, dass dies richtig ist. Standardmäßig geht vBulletin davon aus, dass es Einstellungen nur in der Datenbank (und nicht im Dateisystem) speichern kann, so dass jede einzelne Anfrage jede einzelne Einstellung aus der Datenbank lädt! ... Ich möchte etwas Caching installieren! –

Verwandte Themen