martinkoell
Goto Top

MySQL Server ausgelagert und nun sehr langsam

habe bei meinem lamp aus zugriffsgründen (mehrere apaches greifen auf dieselbe datenbank zu) den sql server ausgelagert und nun ist der zugriff extrem langsam.

gibt es eventuell so eine art pipes, sodass eine sql verbindung einmal aufgebaut wird und lokal als ressource zur verfügung steht und nicht bei jedem request aus den php scripts mühsam über die ip samt port startet und beendet? Arbeite auf ubuntu.

Danke im vorraus an euch admins face-smile

Content-ID: 155033

Url: https://administrator.de/contentid/155033

Ausgedruckt am: 19.11.2024 um 01:11 Uhr

kaiand1
kaiand1 13.11.2010 um 22:43:31 Uhr
Goto Top
Du hast den Verschoben?
Hast du auch die Pfade angepasst?
PHP ist eine Server Sprache.
Beim Beenden schließt dieser alle Aufgebauten Verbindungen.
Der SQL Server wird meist als Dienst gestartet und läuft dauerhaft.
Langsame zugriffe kann viele Ursachen haben.
Falsche Abfragen ect...
2hard4you
2hard4you 13.11.2010 um 23:44:12 Uhr
Goto Top
Moin (hier mit Grußformel)

Goggle fand als first hit

http://dev.mysql.com/doc/workbench/en/wb-manage-db-connections-socket.h ...

Gruß

24
dog
dog 14.11.2010 um 01:54:57 Uhr
Goto Top
In PHP gibt es pconnect() aber mal ehrlich: In den meisten Fällen sind Web- und Datenbankserver an zwei anderen Enden des RZ und es läuft ohne Probleme, also solltest du erstmal ein bisschen Fehlersuche machen.
Martinkoell
Martinkoell 14.11.2010 um 13:29:13 Uhr
Goto Top
An zwei anderen Enden schon aber nicht an zwei unterschiedlichen WAN-Adressen. Ja, ich musste den Port des SQL Servers durch ein paar Router ziehen und am Ende steht dann ein SQL-Server im Internet. Begründung: Verschiedene Städte. In der my.cfg hab ich die Bind-Adresse auf die LAN IP geändert und am Apache die connection über die WAN-IP mit dem Port. Geht. Aber sehr langsam, da nun in jedem PHP-Script das Script zuerst über Internet die Verbindung zu der DB herstellen muss. Mit ner AJAX Variante, in der der PHP-Code nicht von oben nach unten läuft sondern sich selbst rekursiv lädt zerstört mir das die Latenz.
Hat da schon jemand Erfahrung damit? zB mit VPN, weil der Tunnel da schon besteht oder eben Pipes..
Pipes kenn ich nur aus der Theorie..

Danke an 24, werd mir den Link ansehen, habe MYSQL Workbench noch nie gesehen..
1002-btl
1002-btl 14.11.2010 um 20:52:55 Uhr
Goto Top
Hallo,

Du fährst also die SQL Queries jedesmal über das Internet?
Vielleicht könnte Dir die Replikation des MySQL Servers helfen, dass nicht alle Daten zum Zeitpunkt des Zugriffs erst geholt werden müssen.

Gruß

1002-btl
Martinkoell
Martinkoell 14.11.2010 um 22:32:16 Uhr
Goto Top
Das würde heissen auf allen Apache-Servern wäre ein Abbild der gesamten Datenbank.
Gute Idee, aber geht gegen das Konzept, weil die Datenbanken dann inkonsistent werden und auch die Sicherheit (alle Daten auf jedem Server) ein Problem ist.
Glaub ihr generell überhaupt, dass ich Queries übers Internet in ner halbwegs guten Verbindung zustande bringe?
Also mit bestehender Leitung (VPN, Pipes,..)

Ich versuchs jetzt mal mit ner VPN und geb Euch bescheid wies funktioniert hat.
Martinkoell
Martinkoell 02.12.2010 um 09:00:12 Uhr
Goto Top
Ich konnte das Problem durch eine Standortverlagerung lösen face-wink
Vielen Dank an 2hard4you für die pconnect()-Sache, hatte das übersehen.

lg