anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mo 09 Jun, 2025 15:03

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: mysql_connect vs mysql_pconnect
BeitragVerfasst: Do 10 Dez, 2009 20:24 
Offline
Held
Held
Benutzeravatar

Registriert: So 19 Nov, 2006 09:57
Beiträge: 231
Geschlecht: Weiblich
LoGD: http://www.trahhenbluot.de/Planetenchaos/source.php
Ich hab mal ne Verständnisfrage ^^

Ich hab mir gerade die Beschreibungen von mysql_connect und mysql_pconnect durchgelesen und stehe nun vor der Frage, was besser ist.

mysql_connect: Es wird eine Verbindung hergestellt und mit Ende des PHP-Scriptes geschlossen. Das heißt mit jedem Aufruf wird eine neue Verbindung hergestellt. Falls eine Verbindung mit den gleichen Daten da ist, wird die gleiche Kennung gesendet.

mysql_pconnect: Es wird eine Verbindung hergestellt, die nicht mit mysql_close geschlossen wird, sondern per Timeout.

Welches ist effektiver und vor allem sicherer?

PS: In der common.php wird zwar db_pconnect definiert, aber in der dbwrapper.php ist mysql_connect drin.

_________________
Das Lesen im Bett zeugt von völliger Hingabe an die Kunst: Man überlässt es dem Dichter, wann man einschläft.
Ernst R. Hauschka, deutscher Aphoristiker (geb. 1926)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: mysql_connect vs mysql_pconnect
BeitragVerfasst: Fr 11 Dez, 2009 09:19 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
Lori hat geschrieben:
Welches ist effektiver und vor allem sicherer?
Das kommt immer auf den Verwendungszweck an.
Lori hat geschrieben:
In der common.php wird zwar db_pconnect definiert, aber in der dbwrapper.php ist mysql_connect drin.
Das liegt daran, dass LoGD ursprünglich mit pconnect programmiert wurde, das sich aber im Betrieb vor allem mit sehr vielen Benutzern auf einigen (Windiws?-)Servern als nicht praktikabel herausgestellt hat. LoGD ist ein Browserspiel, bei dem sehr viele User zu Stoßzeiten (Tageswechsel) sehr oft hintereinander (Waldkämpfe) das selbe Script ausführen. Da kam es mit pconnect vor, dass die Datenbank neue Verbindungen verweigerte. Mit dem Löschen eines P war das Problem unglaublich schnell behoben. :D

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: mysql_connect vs mysql_pconnect
BeitragVerfasst: Fr 11 Dez, 2009 10:37 
Offline
Held
Held
Benutzeravatar

Registriert: So 19 Nov, 2006 09:57
Beiträge: 231
Geschlecht: Weiblich
LoGD: http://www.trahhenbluot.de/Planetenchaos/source.php
Nun, inzwischen hat sich LogD sehr geändert. Sie werden mehr und mehr zu RP-Servern, da sich die Level-User doch eher für die Bildvariante entscheiden und zu anderen MMORPG-Spielen wie WoW, FlyfF und ähnlichen wechseln. Das heißt so viele Zugriffe gleichzeitig finden nicht wirklich mehr statt.

Nun, nehmen wir an, mein Server hat 200 User insgesamt, von denen um die 60/70 maximal gleichzeitig online sind, aber zu 2/3 reine RP-Spieler sind. Welches von beiden wäre dann effektiver? Mysql_connect, welches zwar ebenfalls schaut, ob eine bestehende Verbindung existiert, aber bei Scriptende grundsätzlich die Verbindung trennt? Oder doch mysql_pconnect, welches auch nach einer bestehenden Verbindung sucht, aber nur per Timeout die Verbindung beendet (ist bei mir scheinbar auf 1 Minute eingestellt, wie ich der aus der phpinfo() entnehmen konnte - mysql.connect_timeout = 60).

_________________
Das Lesen im Bett zeugt von völliger Hingabe an die Kunst: Man überlässt es dem Dichter, wann man einschläft.
Ernst R. Hauschka, deutscher Aphoristiker (geb. 1926)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: mysql_connect vs mysql_pconnect
BeitragVerfasst: So 13 Dez, 2009 01:10 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 20 Sep, 2004 23:43
Beiträge: 164
Wohnort: Berlin
LoGD: http://www.atrahor.de/source.php
Das kan dir deine Serverkonfiguration beantworten.
Wenn zu Stosszeiten 60-70 Leute online sind, müssen im ungünstigsten Fall auch 60-70 Verbindungen für MySQL offen gehalten werden. Folglich muss in der my.cnf, der MySQL Konfigurationsdatei festgelegt sein, dass auch mindestens diese Zahl an Verbindungen erreicht werden kann. Dabei ist auch zu beachten, dass mit jeder offen gehaltenen verbindung RAM belegt wird und zwar ne ganze Menge. Daraus folgt evtl. Swapping, laberrhabarber...

Ganz ehrlich, bleib bei mysql_connect, es ist die für lotgd performanteste Art und Weise sich mit mysql zu verbinden.

_________________
Atrahor.de
http://www.atrahor.de/ci_images.php?id=1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: mysql_connect vs mysql_pconnect
BeitragVerfasst: So 13 Dez, 2009 12:44 
Offline
Held
Held
Benutzeravatar

Registriert: So 19 Nov, 2006 09:57
Beiträge: 231
Geschlecht: Weiblich
LoGD: http://www.trahhenbluot.de/Planetenchaos/source.php
Hmmmm ... da muss so einiges dazu eingestellt sein:

mysql.allow_persistent ... ist bei mir auf an
mysql.max_persistent ... ist bei mir auf unlimited (ich nehme an, das ist das was du meinst ;) )

Aber schon alleine, um meinen Hoster nicht zu Ärgern werde ich bei mysql_connect bleiben ;)

Mich hats nur interessiert, ob es von der Effektivität (Schnelligkeit, Sicherheit etc) her besser ist.

_________________
Das Lesen im Bett zeugt von völliger Hingabe an die Kunst: Man überlässt es dem Dichter, wann man einschläft.
Ernst R. Hauschka, deutscher Aphoristiker (geb. 1926)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 18 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum