Dieses Feature optimiert im Setup die Performance der Datenbanken mittels dediziertem Caching. Anlass ist, dass beim Seitenaufruf zig Datenbankabfragen entstehen; zum Teil sehen wir Seitenaufrufe mit 1.000 Requests und mehr. Diese enorme Vielzahl an Anfragen kann zum Bottleneck werden. Insbesondere während erhöhtem Traffic sind überlastete Datenbanken eine kritische Stelle im Setup.
Es gibt bereits ein globales Caching von MySQL, das aber in der Praxis einen riesigen Overhead produziert und somit per default ausgeschaltet sein sollte. Darüber hinaus wird es ab MySQL 8 auch nicht mehr verfügbar sein.
Für uns ein weiterer Grund, um mit dem Caching des Proxy SQL ein Feature in unserem Best Practice Bundle anzubieten, das Datenbanken effektiv und clever entlastet.
Eine Datenabfrage läuft wie folgt: Der App-Server fragt bei der Datenbank an und diese antwortet an den App-Server. Durch das Proxy SQL Caching wird zwischen App-Server und Datenbank eine weitere Instanz geschaltet, so dass die Abfrage gar nicht die Datenbank erreicht, sondern aus dem Cache des Proxy SQL beantwortet wird.
Allerdings bedeutet eine weitere Instanz im Setup auch eine weitere Latenz. Um dies zu vermeiden, installieren wir den Proxy SQL auf jedem der App-Server. Somit kann sich der App-Server direkt aus dem Proxy SQL Cache bedienen.
Das Caching entlastet die Datenbank. Das verbessert die Performance und schont Hardware-Ressourcen. Das Feature ist also ein weiterer Beitrag zu schnellen Ladezeiten.
Darüber hinaus ist das dedizierte Caching ideal im Handling. Es gibt unzählige Möglichkeiten in der Konfiguration. Beispielsweise kann die Lifetime des Caches individuell je Datenbankabfrage bestimmt werden. So können einzelne Abfragen z. B. für wenige Minuten, andere für mehrere Stunden oder sogar Tage gecached werden. Es gibt also für die verschiedensten Use-Cases auch Möglichkeiten in der Konfiguration und somit sind wir uns ziemlich sicher, dass das Proxy SQL Caching ganz schnell einer der großen Stars in unserem Best Practice Bundle wird.
Letztendlich sicherst du die Stabilität des Shops und eine gute Konversion durch schnelle Ladezeiten. Alles was die Datenbanken entlastet, zahlt auf eine gute Performance ein.
Zugleich kannst du das Setup besser skalieren, denn du kannst jetzt eine Vielzahl von App-Servern inklusive Proxy SQL Caching hinzu bauen ohne die Datenbanken zu erweitern.