mmofacts.com

Persistente Datenbankverbindung

gepostet vor 18 Jahre, 4 Monate von Rylor
Nabend,
hab mir gerade mal so ein bisschen was über persistente Datenbankverbindungen durchgelesen... Lohnen sich die für ein BG? Wie lassen die sich wieder schließen? Das is mir aus dem Artikel nicht so ganz klar geworden... oder gehören die so dass sie für immer offen bleiben?
Nutzt ihr solche Verbindungen oder normale?
Rylor
gepostet vor 18 Jahre, 4 Monate von mifritscher
also, ich nehme sie
gepostet vor 18 Jahre, 4 Monate von exception
Allgemein kann ich sagen, dass persistente Verbindung leichte Performance-Vorteile bringen, man dafür auf der anderen Seite aber immer aufpassen muss, dass Webserver und Datenbankserver aufeinander abgestimmt sind.
max_connections ist normal nur auf 100.
Wenn man persistente Verbindungen nutzt, sollte max_connections größer als die Anzahl der Webserver-Prozesse sein.
gepostet vor 18 Jahre, 4 Monate von Rylor
Kann mir mal jemand erklären wie das ganze genau funktioniert?
Also wie die Verbindungen weitergenutzt werden? Woher weiß PHP das derselbe User dieselbe Verbindung nochmal nutzt wenn er ein neues Skript aufruft? Oder nutzen die alle User? Check das noch nich so ganz
Danke für alle Antworten!
Rylor
gepostet vor 18 Jahre, 4 Monate von TheUndeadable
de.php.net/mysql_pconnect
First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.
Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (mysql_close() will not close links established by mysql_pconnect()).
----
Also: Mehrere Besucher deiner Website teilen sich eine MySQL-Verbindung
gepostet vor 18 Jahre, 4 Monate von Rylor
Original von TheUndeadable
de.php.net/mysql_pconnect
First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.
Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (mysql_close() will not close links established by mysql_pconnect()).
----
Also: Mehrere Besucher deiner Website teilen sich eine MySQL-Verbindung

Moin,
Soweit war ich auch schon Trotzdem danke...
Frage war eher, ob sich die Handhabung im PHP quelltext (mal abgesehen von der Benutzung von mysql_pconnect() statt mysql_connect() ) etwas ändert...
Das konnte ich dem Text irgendwie nicht so entnehmen...
Rylor
gepostet vor 18 Jahre, 4 Monate von TheUndeadable
Nein,
im Prinzip ändert sich nichts. Du solltest nur darauf achten, dass dein Apache nicht mehr Prozesse/Threads öffnet, als dein MySQL-Server annehmen kann.
Bei gut konfigurierten Hostern sollte es von Anfang an so eingestellt sein.
Ersetze einfach mysql_connect durch mysql_pconnect. Weitere Änderungen am Source sind erstmal nicht nötig.
gepostet vor 18 Jahre, 4 Monate von garyx7de
um das wievielfache ist das schneller und ist es wirklich sinvoll? setze es pers. nicht ein.

Auf diese Diskussion antworten