SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 22.09.2004, 02:01:56
haarrrgh haarrrgh ist offline
Anfänger
 
Registriert seit: Sep 2004
Beiträge: 1
Unterschied zwischen persistenten und nicht-persistenten Verbindungen?

Der Titel sagt eigentlich schon alles - es geht um den Unterschied zwischen persistenten (mysql_pconnect) und nicht-persistenten (mysql_connect) Verbindungen.

Den eigentlichen Unterschied glaube ich schon verstanden zu haben, denn das scheint im wesentlichen folgender, von hier zitierter Satz zu sein:

"Die Verbindung wird nicht mit dem Beenden des Skripts geschlossen, sondern bleibt bestehen für einen zukünftigen Verbindungsaufbau."


Mir ist nur noch nicht so ganz klar, ob ich das brauche oder nicht. In welchen Fällen ist es denn nützlich, daß die Verbindung beim Beenden des Skripts offen bleibt?
Mit Zitat antworten
  #2  
Alt 22.09.2004, 08:35:48
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ich zitiere mal aus dem Kundenforum von HostEurope:
Zitat:
Original geschrieben von Felix Schüren
Es gibt viele Quellen (und leider auch Programmierer), die generell empfehlen sog. "beständige Verbindungen" (persistent connections, pconnects) zum Datenbankserver aufzubauen. Der reguläre "connect()"-Befehl in PHP schliesst die Verbindung automagisch bei Beendigung des Skriptes, "pconnect()" tut genau dies nicht - die Verbindung bleibt bestehen.

In speziellen Einsatzgebieten - ein dedizierter Server mit einem (genau einem!) grossen Forum beispielsweise - kann das Sinn machen, weil die Verbindung beim Start des nächsten Skriptes nicht erneut aufgebaut werden muss, man spart so einige Millisekunden. Im Shared Hosting erzeugen pconnects aber ein grosses Ressourcen-Problem - sie sind nicht Skript-, sondern Webserverbezogen, und der Webserver ist für hunderte von Domains zuständig, die alle auf verschiedene Datenbanken zugreifen. Die Wahrscheinlichkeit, dass eine persistente Datenbankverbindung wieder genutzt werden kann ist ca. 1/(anzahl Präsenzen) (bei gleicher Lastverteilung) und tendiert somit stark gegen Null.
Gleichzeitig hält aber der MySQL-Server die Verbindungen bis zum Erreichen eines Inaktivitäts-Schwellenwertes offen und schwillt so sehr schnell auf ein vielfaches der tatsächlich benötigten Prozesse an.

Ein kleines Beispiel:

- Shared-Hosting-Server mit 100 Präsenzen (P)
- 20 Webserver-Instanzen (I) stehen zur Verfügung
- der pconnect-timeout auf dem SQL-Server beträgt 10 Minuten
- jede Präsenz hat 1 Besucher (B) pro Minute.
- jede zweite Präsenz nutzt pconnects
- nur jeder hundertste Aufruf kann den pconnect nutzen, wird in der Rechnung vernachlässigt

Das wären also 50 pconnects / minute, mithin immerhin 500 connections insgesamt. Für jede connection muss ein Prozess auf dem SQL-Server laufen. Nach 10 Minuten ist dann erstmal das Limit erreicht, die ältesten pconnects werden vom SQL-Server geschlossen. Die Prozesszahl pendelt sich also bei konstanten 500 ein.

Für die normalen Connects sieht die Rechnung wie folgt aus:

50 connects/minute, werden sofort wieder geschlossen, macht max. 50 Prozesse gleichzeitig, in der Praxis wesentlich weniger da gleichzeitiger Zugriff sehr selten ist.


Wie gesagt, pconnects können auf einem dedizierten Server sinnvoll sein, im Shared Hosting schaden sie nur extrem.

Cheers,

Felix
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:09:26 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt