Performance bei externem Zugriff

fx123
Posts: 5
Joined: 2009-03-09 17:12

Performance bei externem Zugriff

Post by fx123 »

Hallo

Ich habe eine Seite die momentan komplett auf einem Server läuft (Datenbank, Webserver, Mailserver etc.). Die Datenbank soll jetzt aber demnächst auf einen externen Server ausgelagert werden. Eine direkte LAN-Verbindung kommt leider nicht in Frage.
Kann man hier etwas zur Performance im Vergleich mit dem normalen Connect auf Localhost sagen?

danke
Top

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Performance bei externem Zugriff

Post by daemotron »

Zugriff auf einen Remote DB-Server bedeutet immer Latenz. Der am einfachsten zu verstehende Faktor ist dabei die Signallaufzeit, hinzu kommen Zeitverluste an jedem Router, der unterwegs passiert wird. Außerdem ist die Verarbeitung von TCP Sockets systemseitig etwas aufwändiger als bei Unix Sockets, was ebenfalls einen (wenn auch eher geringer) Latenz-Nachteil mit sich bringt. Ein weiterer Faktor, der bei TCP bremsen könnte: Transportverschlüsselung (VPN, SSH-Tunnel, SSL, ...). Bei einer Verbindung durch öffentliche Netze hindurch ist Transportverschlüsselung Pflicht!

Ob das die Verarbeitungsgeschwindigkeit Deines Systems merklich beeinträchtigt, hängt aber im wesentlichen von der Art der Queries ab. Wenn Du viele kleine Queries hast, die MySQL quasi sofort aus dem Cache beantworten kann, werden sich die Latenzen beim Verbindungsaufbau und der Datenübertragung bemerkbar machen. Wenn Du mehrheitlich Queries hast, bei denen der mysqld ordentlich nachdenken muss, fallen die Latenzen nicht so sehr ins Gewicht. Die Frage, die sich in Deinem Fall also stellt: Profitiert die Performance Deines System mehr durch die Entlastung durch separate Hardware, als es durch die Latenzen belastet wird?
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time
Top