php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.05.2005, 12:28  
Gast
 
Beiträge: n/a
Standard Performence Frage

Hi,
ich habe eine Frage und zwar habe ich mir ein Klasse für den DB Zugriff gebastelt, auch alles wunderbar.

Jetzt habe ich mir noch ein Script gebastelt, das bei jedem Seitenaufruf automatisch diese Klasse einbindet und erstellt.
Code:
$myDB =& new db("root", "");
Das funktioniert auch, nur frage ich mich ob das so performant ist, das bei jedem Seitenaufruf zu tun und ob es keine bessere Möglichkeit gibt, iiset geht ja nicht, da es ja ein neuer Seitenaufruf ist, aber ich habe dran gedach die Instant in einer Session zu speichern und zu prüfen ob die exestiert und wenn ja nicht noch mal ne Instanz erstellen.

Jetzt also meine Frage welcher dieser beiden Wege ist performanter, Vor und Nachteile wären nett.


mfg
Curse4Life
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.05.2005, 12:33  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

die instanz deiner klasse kriegst du ja gerade noch in die session, aber wie willst du das db-handle (das du mit mysql_connect() - mysql_select_db() bekommst) in der session halten?
axo ist offline   Mit Zitat antworten
Alt 04.05.2005, 12:42  
Gast
 
Beiträge: n/a
Standard

OK, danke nicht dran gedacht!

mfg
  Mit Zitat antworten
Alt 05.05.2005, 13:50  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

das hier war eh doof...
__________________
Was ist validität?
fantast ist offline   Mit Zitat antworten
Alt 05.05.2005, 14:01  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

uh... miener meinung nach bringt aber ******* mehr probleme als sie löst ... deswegen wollte ich diese information gar nicht erst preisgeben
axo ist offline   Mit Zitat antworten
Alt 05.05.2005, 14:03  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

na denn...
__________________
Was ist validität?
fantast ist offline   Mit Zitat antworten
Alt 05.05.2005, 14:05  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

du musst ja auch nicht immer auf mich hören
axo ist offline   Mit Zitat antworten
Alt 06.05.2005, 17:27  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Hi!

Das erzeugen einer neuen Instanz ist mit Sicherheit nicht die Bremse.

Nutze persistente Datenbankverbindungen (siehe mysql_pconnect), damit entfällt der wiederkehrende client- und server-seitige Aufwand beim Connect (Handshake, reservieren des Sort-Buffer pro Connection, etc.).

Bei Verwendung einer persistenten Verbindung solltest Du den Handle auch serialisiert speichern und wiederverwenden können, allerdings wage ich zu bezweifeln, dass die Deserialisierung eines Objekts performanter ist als das Erzeugen einer Instanz.
carrib ist offline   Mit Zitat antworten
Alt 06.05.2005, 17:39  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von carrib
Nutze persistente Datenbankverbindungen
Um Gottes willen!
Persistente Verbindungen bringen nur unter sehr kontrollierten Bedingungen einen Performance-Vorteil, kloppen aber gerne mal den MySQL-Server mit Verbindungen zu (wer freut sich schon über "too many connections"). Dazu haben die DInger noch diverse andere Eigenheiten... es hat seine Gründe, warum die neue mysqli-Extension von PHP5 die Dinger gar nicht mehr unterstützt.

Zitat:
Zitat von carrib
Bei Verwendung einer persistenten Verbindung solltest Du den Handle auch serialisiert speichern und wiederverwenden können
Nein, das geht nicht. mysql_pconnect liefert automatisch eine bestehende Verbindung, wenn vorhanden, aber aufrufen muss man es trotzdem.
__________________
mod = master of disaster
Waq ist offline   Mit Zitat antworten
Alt 06.05.2005, 18:02  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Sofern ich eine persistente Verbindung aufbaue, diese Verbindung zum gleichen Host, mit dem gleichen Benutzer im gleichen oder in einem anderen Script erneut verwendet, wird eben diese persistente Verbindung verwendet anstatt erneut eine Verbindung zu erstellen. Den Fall mit "too many connections" hatte ich ehrlich gesagt noch nie, läßt aber auf einen Konfigurationsfehler schließen (max. Threads und limitierte Anzahl an Connections seitens der Datenbank), jedenfalls ist es so mit Sicherheit nicht vorgesehen. Bisher blieb ich von Problemen mit persistenten Verbindungen verschont und Tests belegen den Vorteil der Nutzung von persistenten Verbindungen in Bezug auf die Reduzierung der Ausführungszeit. Gut, die maximale Anzahl der Threads des Webserver und die damit größtmögliche Anzahl an gleichzeitigen persistenten Verbindungen (damit verbundener Probleme wie Locking) sollte schon beachtet werden. Ich sehe die Nutzung von persistenten Verbindungen aber nicht als ein mit "Um Gottes willen" zu kommentierendes Thema an, es ist "überlegt" ein nützliches Hilfsmittel, kann aber wie vieles andere auch nach hinten losgehen.

Ich habe es nie versucht ein Handle permanent zu speichern und wiederzuverwenden, daher Danke für den Hinweis.
carrib ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zur dauerhaften voting sperre! litterauspirna PHP Tipps 2008 19 29.05.2008 16:19
Frage zu Typen und Performence notyyy PHP-Fortgeschrittene 13 14.11.2007 02:18
Frage zu Session SmileMan PHP Tipps 2008 1 08.10.2007 11:22
Ein kleine Frage zum posten hier im Forum Kein Genie Off-Topic Diskussionen 3 20.03.2006 13:40
Frage zu Counter PHP Tipps 2006 1 17.02.2006 21:45
Performence Seitenzugriffe PHP Tipps 2005-2 3 29.10.2005 15:57
Access Frage - Datenbankverbindung abfragen reimondo Off-Topic Diskussionen 1 01.10.2005 18:24
[Erledigt] frage PHP Tipps 2005-2 9 15.06.2005 13:22
.htaccess - Frage Stümper PHP Tipps 2005 11 30.05.2005 11:56
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
Frage zu einer Liste? HTML, Usability und Barrierefreiheit 2 15.02.2005 16:56
[Erledigt] Frage zur Funkrionen? PHP Tipps 2004-2 10 01.12.2004 09:42
Kurze Frage an die Php Profis PHP Tipps 2004-2 11 24.11.2004 17:38
Frage zur Formatierung von Text obi PHP Tipps 2004 1 03.11.2004 13:35
[Erledigt] Frage! PHP Tipps 2004 4 27.07.2004 11:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.