dedlfix: Datenbanken und ähnliches im Vergleich

Beitrag lesen

Hi!

Beim Profiling kam raus das wirklich die DB überlastet ist.

Beim Optimieren geht es in der Regel darum, individuelle Performance-Probleme zu lösen, also muss man auch die Lösungen auf das individuelle Problem zuschneiden, wofür man recht detailliert das Problem kennen muss. Was genau bedeutet "überlastet" in dem Fall? Ist die Festplatte zu langsam, so dass die Daten nicht schnell genug ermittelt werden können, ist der Hauptspeicher zu klein, dass Daten nicht gecachet werden können? Stehen die Requests Schlange, weil die Anzahl der gleichzeitig abgearbeiteten zu niedrig konfiguriert ist, CPU und Festplatten selbst langweilen sich aber? Sind Schreibzugriffe oder Lesezugriffe das problematische Glied in der Verarbeitungskette? Es gibt noch eine Menge Szenarien, die sein können. Für manche kann eine Lastverteilung auf mehrere Server inklusive Replikation eine Lösung sein, für andere eine Hardwareaufrüstung, und der Wechsel des DBMS kann auch eine sein.

Zu deinen genannten Alternativen kann ich keine Empfehlungen geben - aber was spricht denn gegen einen dedizierten MySQL-Server oder eine Load-Balancer-Lösung für MySQL?
Dagegen spricht das MySQL überfüllt ist mit Funktionen

Und diese Überfüllung ist der bremsende Faktor? Das liest sich so, als ob MySQL die vielen Funktionen einfach so verwendet, weil sie da sind und sich sonst langweilen würden, und deshalb keine Zeit mehr für wichtiges ist. Das ist ziemlich unglaubwürdig.

Andere Datenbanken sind nun einmal schneller.

Und der Aufwand, die Anwendung darauf umzustellen ist billiger als beispielsweise eine Hardwareaufrüstung?

Wer braucht bitte 9999 Kodierungen wenn er eh nur UTF-8 nutzt.. usw. usw.

Und? Dann lass doch die anderen einfach liegen. Außer Plattenplatz geht doch da nichts verloren.

Auf Seite von PHP gibt es noch die Möglichkeit, einen Cache wie beim ZendFramework zu benutzen. Damit kommen die Abfragen erst gar nicht bei MySQL an ;-)
Oder ich spare mir das Framework und nutze Memcached.

Was du dir nicht sparen solltest sind Messungen. Und zwar vom aktuellen Zustand und nach jedem Optimierungsversuch. Diese Messungen sollten nicht nur Details messen, sondern auch das angestrebte Gesamtziel berücksichtigen, also auch die Anzahl der vollständigen Requests, die mehr abgearbeitet werden konnten.

Lo!