Nutzt ihr die perm. Mysql-Verbindungen?
Warum ja? Warum nein?
Welche Vorteile/Nachteile bringt euch das?
Perm. Mysql-Verbindung
gepostet vor 17 Jahre, 5 Monate von Kapsonfire
gepostet vor 17 Jahre, 5 Monate von Todi42
Permanente Verbindungen zur Datenbank (das gilt auch für andere Datenbanken als mySQL) haben den Vorteil, das der Overhead beim Aufbau der Verbindung entfällt. Es hat den Nachteil, das die meisten Datenbanken nicht damit um können, das auf einer Verbindung auch mal tagelang nichts passiert, von daher muss man immer damit rechnen, das die Verbindung von der Datenbankseite geschlossen wird. RoR benutzt so weit ich das überblicke permanente Datenbankverbindungen in einem so genanten Connection-Pool.
gepostet vor 17 Jahre, 5 Monate von TheUndeadable
mysql_pconnect nutzt AFAIK auch einen Connection-Pool.
Mit MySQL hatte ich persönlich noch nie Probleme mit dem plötzlichen Schließen. Eine Datenbankverbindung hat über 2 Monate gehalten (Win 2k3, PHP 4 irgendwas, MySQL 4 [also schon etwas länger her]).
Wichtig ist nur, dass du die Zahl der erlaubten Datenbankverbindungen höher stellst als die Zahl der gleichzeitig erlaubten HTTP-Apache-Verbindungen. Ansonsten könnten manche Besucher eine hässliche Fehlermeldung erhalten.
Mit MySQL hatte ich persönlich noch nie Probleme mit dem plötzlichen Schließen. Eine Datenbankverbindung hat über 2 Monate gehalten (Win 2k3, PHP 4 irgendwas, MySQL 4 [also schon etwas länger her]).
Wichtig ist nur, dass du die Zahl der erlaubten Datenbankverbindungen höher stellst als die Zahl der gleichzeitig erlaubten HTTP-Apache-Verbindungen. Ansonsten könnten manche Besucher eine hässliche Fehlermeldung erhalten.
gepostet vor 17 Jahre, 5 Monate von Kapsonfire
also im groben und ganzen gibt es keine nachteile bei perm. verbindungen wenn man die settings richtig macht?
gepostet vor 17 Jahre, 5 Monate von Toby
Wenn du PHP benutzt und da dann PDO einsetzen magst, kannst du die Klasse PDOStatement nicht mit einer eigenen Klasse überschreiben.
PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances.
Gibts eigentlich Statistiken über den Geschwindigkeitsvorteil bei persistenten Verbindungen?
PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances.
Gibts eigentlich Statistiken über den Geschwindigkeitsvorteil bei persistenten Verbindungen?
gepostet vor 17 Jahre, 5 Monate von Störti
Ich denke mal, das hängt davon ab, wie du die Verbingunden einsetzt bzw. wie dein Spiel verteilt ist.
Liegen Datenbank und HTTP auf dem gleichen Server, ist der eingesparte Overhead nur die eigentliche Initialisierung der Verbindung inkl. Authentifizierung etc.
Liegen DB und HTTP auf zwei physikalisch verschiedenen Maschinen, dass der Weg über das (rechenzentruminterne) Netzwerk gegangen werden muss, ist die eingesparte Zeit des Verbindungsaufbaus sicherlich um einiges höher, da ja erst über Netzwerkkarten, Router oder was weiss ich gegangen werden muss.
Alles in Allem macht der Verbindungsaufbau jedoch sicherlich eine sehr kleine Zeitspanne aus, die kurz vor der Grenze zum vernachlässigbaren steht. Versprich dir also keine Performancesprünge davon...
Persistente Verbindungen haben nur den Nachteil, dass sie Speicherplatz blockieren, wenn sie ungenutzt sind, aber wie viel das ist, kann ich leider nicht sagen...
Liegen Datenbank und HTTP auf dem gleichen Server, ist der eingesparte Overhead nur die eigentliche Initialisierung der Verbindung inkl. Authentifizierung etc.
Liegen DB und HTTP auf zwei physikalisch verschiedenen Maschinen, dass der Weg über das (rechenzentruminterne) Netzwerk gegangen werden muss, ist die eingesparte Zeit des Verbindungsaufbaus sicherlich um einiges höher, da ja erst über Netzwerkkarten, Router oder was weiss ich gegangen werden muss.
Alles in Allem macht der Verbindungsaufbau jedoch sicherlich eine sehr kleine Zeitspanne aus, die kurz vor der Grenze zum vernachlässigbaren steht. Versprich dir also keine Performancesprünge davon...
Persistente Verbindungen haben nur den Nachteil, dass sie Speicherplatz blockieren, wenn sie ungenutzt sind, aber wie viel das ist, kann ich leider nicht sagen...
gepostet vor 17 Jahre, 5 Monate von None
Die funktionieren auch nur wenn du mod_php hast. CGI bringt da nix. Logisch: ist keine PHP Instanz da, gibts auch keine MySQL Verbindungen