Page 1 of 1
Performance bei externem Zugriff
Posted: 2009-03-16 00:17
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
Re: Performance bei externem Zugriff
Posted: 2009-03-16 07:10
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?