PEAR-Forum.de Übersicht Thema anzeigen - MDB2 PDO mysql_ django Performancemessung

MDB2 PDO mysql_ django Performancemessung


 

PEAR-Forum.de Übersicht » Database
Neues Thema eröffnen Neue Antwort erstellen Diesen Beitrag ausdrucken
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
stot
Neuer User


Anmeldungsdatum: 15.03.2007
Beiträge: 2

Beitrag06.05.2009 11:07    MDB2 PDO mysql_ django Performancemessung Antworten mit Zitat

Hallo zusammen,

ich habe mir mal die Mühe gemacht, und verschiedene Datenbankaufsätze/abstraktionen verglichen, da meine applikation (MDB2) super langsam war. Die Kandidaten sind:


    MDB2
    plain mysql
    PDO
    django
    propel


Dazu wurde eine Datenbanktabelle book angelegt mit id, titel, autor, publisher. Es wurden pro Testkandidat und Aufruf der Testwebseite zunächst zwei Datensätze eingefügt, einer geupdated und einer anschliessend wieder gelöscht.

Die Tests erfolgten mit http_load -parallel 2 -seconds 10. Das heißt, es wird 10 Sekunden lang mit zwei Threads parallel die Testwebseite aufgerufen und der Durchsatz gemessen. Die Datenbanken nutzten alle persistente Verbindungen. Die Ergebnisse sind wie folgt (ca. Mittelwerte):


    MDB2: 20 fetches/s
    plain mysql: 80 fetches/s
    PDO: 80 fetches/s
    django: 95 fetches/s
    propel: 18 fetches/s


MDB2 ist um den Faktor 4!! langsamer ist als PDO/mysql plain. Dieser Umstand macht MDB2 für den Produktiveinsatz natürlich unattraktiv, bzw. das ist ein Ausschlusskriterium. Die CPU last war für MDB2 ebenfalls am höchsten (100%), während die anderen bei ca. 50-75% lagen.

Interessanterweise geht die Performance bei MDB2 beim Erstellen der Verbindung verloren. Ebenfalls bemerkenswert war die Performance von statischem html (105 fetches/s), php mit hello world (85 fetches/s), django mit hello world (100 fetches/s) nur wenig höher als mit datenbank (mysql plain, PDO, django) funktionalität.

Hat jemand anderes ebenfalls Messungen durchgeführt? Das würde mich interessieren. Falls Interesse besteht, kann ich das testscript posten.

Wie kann die MDB2 Performance verbessert werden? Ich habe bereits persistente verbindungen ein- und den kompatibilitätsmodus ausgeschaltet. Falls das wirklich die Performance ist, dann muss ich mich leider von MDB2 verabschieden. Die Funktionalität und die API (Klarheit) von MDB2 finde ich jedoch hervorragend.

Viele Grüsse
stot



Update:
habe soeben propel probiert und das resultat ist schlechter als MDB2, obwohl Propel PDO nutzt. Hier geht die Performance wohl in der implementierung verloren. Es werden pro tabelle immer 6 php klassen genutzt...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Diese Seite übersetzen
PEAR-Forum.de Übersicht » Database
Neues Thema eröffnen Neue Antwort erstellen Diesen Beitrag ausdrucken
   Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

Zu Deinen Favoriten hinzufügen

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen