Geschwindigkeitsfrage
Manuel
- php
0 Tom0 Andreas Korthaus0 Manuel
0 Michael der Zweite
Hi,
ich stehe grade vor der Frage, welche Methode für Konfigurationsdateien am sinnvollsten und schnellsten ist.
Zur Auswahl stehen folgende Arten:
1. Config datei (z.B. $wert = "Inhalt";)
2. XML
3. mySQL
Da ich momentan nur ca. 10 Werte in der COnfig hab, erkenne ich bei einem Benchmark leider keine Unterschiede, da es aber später viele Punkte weren können, ist die Geschwindigkeitsfrage durchaus relevant.
Deshalb meine Frage, worauf sollte ich aufbauen? Ich Arbeite mit PHP5 und mySQL 4.
thx4hlp
Gruss
Manuel
Hello,
ich stehe grade vor der Frage, welche Methode für Konfigurationsdateien am sinnvollsten und schnellsten ist.
Zur Auswahl stehen folgende Arten:
- Config datei (z.B. $wert = "Inhalt";)
- XML
- mySQL
Dann schau Dir mal http://de.php.net/manual/de/function.parse-ini-file.php an.
Allerdings kann diese Funktion keine mehrzeiligen Paramter verkraften. Am Zeilenende-Zeichen idt der Parameter zu Ende.
Ich hatte mal versucht, das für ein Mini-Hilfesystem zu verwenden. Dafür ist es aber nicht geeignet.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo!
Zur Auswahl stehen folgende Arten:
- Config datei (z.B. $wert = "Inhalt";)
- XML
- mySQL
Nr. 1 sollte am schnellsten sein, bei Verwendung eines Opcode-Cache ist es noch nichtmal nötig die Konfigurations-Datei bei jedem Request von der Platte zu laden, zu parsen und zu "kompilieren".
Nr. 2 benötigt zum Lesen der Konfigurations-Datei eine zusätzliche/externe XML-Erweiterung - und das bei jedem Request.
Nr. 3 benötigt entsprechend bei jedem Request Zugriff über die MySQL-Extension per Socket-Verbindung auf einen Datenbank-Server.
Allerdings brauchst Du schon ne ganze Menge Requests um diesen Unterschied zu merken. Und normalerweise gibt es dann andere Stellen im Script, die erheblich mehr Zeit benötigen.
Ich würde das nehmen was für Dich am einfachsten ist. Ich persönlich kann mich allerdings nicht wirklich mit dem Gedanken anfreunden, Konfigurationsdaten in XML zu speichern. Selbst bei Java-Frameworks verstehe ich das nicht, wobei Du dort gegenüber PHP wenigstens den Vorteil hast, das die Datei nur einmalig beim Start eingelesen werden muss.
Grüße
Andreas
Hi,
Ich würde das nehmen was für Dich am einfachsten ist. Ich persönlich kann mich allerdings nicht wirklich mit dem Gedanken anfreunden, Konfigurationsdaten in XML zu speichern. Selbst bei Java-Frameworks verstehe ich das nicht, wobei Du dort gegenüber PHP wenigstens den Vorteil hast, das die Datei nur einmalig beim Start eingelesen werden muss.
Danke für die Antworten. Ich schau mir mal an, was am einfachsten ist, wenn man per Script die Config ändern will.
Die Methode, mit PHP eine ini-Datei zu lesen gefällt mir auch gut. Ich denke, dann werd ich das mal näher ins Auge fassen.
MfG
Manuel
Hi
Da ich momentan nur ca. 10 Werte in der COnfig hab, erkenne ich bei einem Benchmark leider keine Unterschiede, da es aber später viele Punkte weren können, ist die Geschwindigkeitsfrage durchaus relevant.
Ich bezweifle, ob du jemals so viele Parameter hast, dass das Auslesen mittels verschiedenen Methoden relevante Zeitunterschiede mit sich bringt. Eher der "Overhead", also Datei öffnen, Datenbankverbindung, Parsen etc. dürfte Performance kosten.
Allgemein lege ich dir stark ans Herz, die Konfiguration gut zu kapseln, d.h.: Du fragst die Parameter im Programm mittels einer Funktion auf - oder implementierst die Config gleich als Klasse. So kannst du jederzeit die Technologie ändern, ohne den ganzen Code durchforsten zu müssen.
(Ich denke das hast du sowieso schon gewusst ;-) )
Gruss
Michael