mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 12:11 Benutzername: Passwort: Auto-Login

Thema: [php] Erfahrung mit mysql_pconnect vom 03.03.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] Erfahrung mit mysql_pconnect
Autor Nachricht
elm4ward
Threadersteller

Dabei seit: 07.12.2002
Ort: munich
Alter: 42
Geschlecht: Männlich
Verfasst Fr 03.03.2006 13:10
Titel

[php] Erfahrung mit mysql_pconnect

Antworten mit Zitat Zum Seitenanfang

Ich wollte mal kurz nachfragen
was ihr so an Erfahrungen habt mit
der persistenten Verbindung.
Wie regelt ihr das schließen der Verbindung?
Wie regelt ihr das Errorhandling? ( unter php4 )
...
Die Performance sollte ja um einiges hochschnellen,
aber wie schaffe ich es die Verbindung wirklich sicher
zu beenden am Ende jeder Seite?

php.net
Zitat:
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()).


Danke schon ma für den einen oder anderen Tipp[/code]
  View user's profile Private Nachricht senden
Eistee
Administrator

Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht: Männlich
Verfasst Fr 03.03.2006 13:14
Titel

Antworten mit Zitat Zum Seitenanfang

Der Sinn eines pconnets ist es, die Verbindung nach der Scriptlaufzeit nicht zu schliessen! Denn der connect zur Datenbank verbraucht oft bis zu 10x mehr Ressourcen als die folgenden Queries.

Hast du dich nur falsch ausgedrückt, oder soll ich nochmal versuchen, in einfachen Worten zu erklären, worum es bei pconnects geht? (Hoffentlich hab ichs wirklich durchschaut Lächel )
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
elm4ward
Threadersteller

Dabei seit: 07.12.2002
Ort: munich
Alter: 42
Geschlecht: Männlich
Verfasst Fr 03.03.2006 13:20
Titel

Antworten mit Zitat Zum Seitenanfang

danke für die schnelle antwort.
naja im grunde hab ich mich wahrscheinlich sowohl falsch
ausgedrückt, als auch noch zuwenig hintergrundwissen zum thema persitente verbindung.
=)

mir gehts im grunde darum, ob jeder user diese eine persistente verbindung nutzt,
bzw wenn das nicht der fall ist, und zuviele verbindungen aufgebaut werden,
wie verfahr ich mit den geöffneten verbindungen ?
  View user's profile Private Nachricht senden
Eistee
Administrator

Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht: Männlich
Verfasst Fr 03.03.2006 14:30
Titel

Antworten mit Zitat Zum Seitenanfang

Jeder Script Aufruf mit einem pconnect macht Folgendes:

- Hallo Mysql, gibt es grad ne connection für mich, die grad unbenutzt ist?
Ja: Hallo PHP, hier hast du die Verbindungs-ID
Nein: Hallo PHP, ich habe dir eine neue Verbindung aufgemacht, hier ist die ID.

Am Ende jedes Scripts passiert Folgendes:
- Hallo Mysql, ich brauche die Verbindung (ID) jetzt nicht mehr, du kannst sie wieder für andere Anfragen bereithalten.

PROBLEM: Sollte aufgrund von Fehlern, Endlosschleifen etc. die benutzten Verbindungen von den Scripten gar nicht mehr freigegeben werden, muss der Mysql Server für jede neue Anfrage nach einer Verbinmdung immer eine neue erstellen. Und das so lang bis max_connections erreicht ist und keine weiteren Verbindungsanfragen mehr angenommen werden, oder bis der Server abkackt Lächel

Ergänzungen: Wenn zu einem best. Moment z.b. 25 gleichzeitige Verbindungsanfragen kommen, wird der Mysql Server auch 25 Verbindungen vorhalten (in wie fern die bei weniger Last nach und anch geschlossen werden, weiss ich gerade aus dem Kopf nicht)

=> max_connections sollte immer größer sein als die Anzahl der maximal gleichzeitig angefragten Connections + ein Puffer für LAstspitzen
=> Der Server sollte auch wirklich (max_connections) Verbindungen verkraften (RAM etc...)

Ich hoffe das war einigermassen anschaulich erklärt Lächel

Mehr Infos:
http://de2.php.net/manual/de/features.persistent-connections.php
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
force23

Dabei seit: 21.04.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 21.04.2009 10:37
Titel

Antworten mit Zitat Zum Seitenanfang

wie sieht es denn mit der sicherheit solcher verbindungen bezüglich injections aus?
  View user's profile Private Nachricht senden
 
Ähnliche Themen [PHP + mySQL] Kann Fehler in einer mySQL-Phrase nicht finden
[PHP/MySQL] MySQL Error: 1054, falsche Tabelle ausgewählt?
[MySql]Lost connection to MySQL server during query
[php / mysql] Mysql Daten in php als Link ausgeben
(php-mysql) übergabe von formulardaten und abfrage m. mysql
BLOB in mysql per php oder mysql einfügen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.