Seite wählen

MySQL Performance Serie – Teil 3: MySQL-Proxy

von | Sep 3, 2008 | MySQL, Serien

Zwar gibt es dieses Tool bereits seit längerem, jedoch kommt es aufgrund der Unkenntnis über das genaue Funktionsprinzip und der Befürchtung der Proxy könnte den Datenbank-Verkehr als zusätzliche Komponente lahmlegen, noch eher selten im produktiven Umfeld zum Einsatz.
Der MySQL-Proxy ist eine klassische Middleware-Komponente welcher zwischen MySQL-Client und einer oder auch mehrerer Datenbank angesiedelt ist. Mit Hilfe einer integrierten LUA-Scriptsprache kann der Administrator den ein- und ausgehenden Datenverkehr überwachen und bei Bedarf auch verändern. So können z.B. Select-Statements explizit auf einen Replikat-Slave geroutet werden um den Master-Server zu entlasten.
Aus Performancesicht ist aber besonders das Thema Connection-Pooling und Load-Balancing interessant. Der Proxy kann eingehende Anfragen im Round-Robin-Prinzip an die verfügbaren Server verteilen und hält die Verbindung zwischen den einzelnen Abfragen offen. Oft ist die eigentliche Applikation nicht mit einem Connection-Pool ausgestattet, so dass sich der Einsatz des Proxys durch die Reduzierung der langsamen Verbindungsverwaltung positiv auf die Applikationsperformance auswirken kann.
In den nächsten Teilen werden wir uns einigen Datenbankparametern annehmen.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

2 Kommentare

  1. Tim Zahn

    Hallo Bernd,
    vielen Dank für dein Tutorial. Ich beschäftige mich derzeit sehr intesiv mit solchen Techniken, derzeit aber noch theoretisch. Ich habe da aber eine Frage, Wie werden die Daten auf den DB Servern konsisten gehalten? Durch einfache Replikation stelle ich mir das schwer vor.
    Gruß
    Tim

    Antworten
  2. Bernd Erk

    Hallo Tim,
    die Konsistenz wird in einem solchen Szenario mit Hilfe der klassischen Replikation sichergestellt. Mit Hilfe der Semi-Synchronen-Replikationen kann man sogar den Commit auf einem Zweitsystem sicherstellen.
    Gruss
    Bernd

    Antworten

Trackbacks/Pingbacks

  1. MySQL Performance Serie – Zusammenfassung « NETWAYS Blog - [...] MySQL Performance SerieMySQL Performance SerieMySQL Performance Serie – Teil 2: Storage-EngineMySQL Performance Serie – Teil 3: MySQL-ProxyMySQL Performance Serie…

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema MySQL | Serien

Alle User in MySQL anzeigen

Oftmals wachsen Datenbankinstallationen im Laufe der Zeit und man legt immer wieder für neue Projekte neue Datenbanknutzer an. Um hier den Überblick zu behalten, zeige ich kurz, wie man sich die jeweiligen Nutzer anzeigen lassen kann. Voraussetzungen: Command...