Was ist am schnellsten - HTML direkt, Datenbank mit PHP...?
Schliff
- programmiertechnik
Guten Morgen!
ich hab eine Webseite mit einem kleinen Wiki - klein heisst, dass die Inhalte nicht ständig geändert werden, der Rest der Webseite aber schon viele User hat.
Nun möchte ich für den Rest der Seite Entlastung schaffen und die Wiki-Artikel in HTML-Dateien speichern zum direkten Aufruf, dass die Datenbank für die restliche Seite nicht (bzw. kaum) in Anspruch genommen wird.
Nun bin ich auf diesen Artikel gestoßen http://www.heise.de/open/artikel/DokuWiki-224560.html und die schreiben, dass das Wiki über Text-Dateien läuft und deshalb langsam ist - dies gilt aber doch wohl nur, wenn häufige Änderungen nötig sind, oder?
Ich war nämlich bisher immer der Meinung, dass die meiste Entlastung für einen Webserver und Datenbank erfolgt, indem die Inhalte direkt über HTML-Dateien angezeigt werden. Wie seht ihr das?
Freu mich auf Meinungen, viele Grüße,
Schliff
Nun bin ich auf diesen Artikel gestoßen http://www.heise.de/open/artikel/DokuWiki-224560.html und die schreiben, dass das Wiki über Text-Dateien läuft und deshalb langsam ist - dies gilt aber doch wohl nur, wenn häufige Änderungen nötig sind, oder?
Das beizieht sich darauf, dass mit dem Wiki ansich gearbeitet wird. Sprich dass Bearbeitungen und Änderungen erfolgen. Wenn lediglich Lesezugriffe erfolgen sind fertig gerenderte HTML-Dokumente sicher wesentlich schneller.
Ich war nämlich bisher immer der Meinung, dass die meiste Entlastung für einen Webserver und Datenbank erfolgt, indem die Inhalte direkt über HTML-Dateien angezeigt werden. Wie seht ihr das?
Das ist Fakt - ein statisches Dokument auszuliefert ist sicher schneller als über eine Scriptsprache die Datenbank zu befragen und dort das Zeug rauszuklauben.
Hi!
Es macht durchaus Sinn die Inhalte in einer DB zu halten, diese auch waehrend des Editierprozesses dort zu bearbeiten und bei Veroeffentlicheungen statisches HTML zu generieren.
hi,
der meiste Overhead entsteht beim Laden eines CGI-Prozesses, da kann die Anbindung an eine DB dazu kommen. FastCGI ist dazu eine gute Alternative, da sind bei eingehenden Requests die Prozesse schon am laufen.
Aus meiner Praxis: Ich hatte mal einen Server aufgesetzt, der lieferte nur eine Datei zur automatischen Proxy-Konfiguration, das war nur ein bischen Text. Der Server lief ausgezeichnet, solange das nur ein bischen Text war. Als später die Anforderung kam, diese Konfigurationsdatei mit einem CGI-Prozess zu erzeugen, ist der Server in die Knie gegangen.
Hotti
Hallo,
Ich war nämlich bisher immer der Meinung, dass die meiste Entlastung für einen Webserver und Datenbank erfolgt, indem die Inhalte direkt über HTML-Dateien angezeigt werden.
Nach meinen Erfahrungen mit bezahlbarem "Webspace" sind Webserver und Datenbanken tatsächlich langsamer als direkt ausgegebene HTML-Dateien. Eine Entlastung durch die Ergänzung mit statischen Seiten scheint mir da sehr wahrscheinlich.
Allerdings kann ich mir auch gut vorstellen, dass Server und Datenbank im Idealfall Festplattenzugriffe usw. einsparen und dazu die Lesezeit durch Kompression weiter verringern können. Ich hab das mal ausprobiert und als einfachsten Fall nur ein PHP-Script genutzt, um eine kompakte zweite Datei als Datenbank ein- bzw. auszulesen, und rund fünfzig verschiedene HTML-Seiten auszuliefern. Kam mir recht performant vor, allerdings hab ich das nicht weiter mit vielen gleichzeitigen Anfragen usw. getestet.
Grüße
Cyx23
Statische Seiten können die gefühlte Performance durch den User bei geeigneter Software nicht wesentlich verbessern. So zumindest auf meinem CMS.
Allerdings ist es eine Tugend, keine Scripte unnötig anzuwerfen.
Jedoch auferlegt die Berechnung statischer Seiten dem Content auch enge Grenzen. So darf kein Jota der Daten irgendwie vom User abhängig sein.
Statische Seiten lohnen sich erst, wenn die Anzahl der Readonly-User gross ist gegenüber der Zahl der Editoren oder sonstwie Berechtigten. Wenn bei fast jedem Gästerequest eine neue statische Seite berechnet werden muss, dann hat man eher eine Mehrbelastung geschaffen.
Das berechnen statischer Seiten muss sich auch zuerst einmal amortisieren.
Und diese Entscheidungsgrundlagen sind global schwer feststellbar und bedingen auf einer per-File Basis einen administrativen Mehraufwand.
mfg Beat
Na, das ist doch mal ein Haufen Input - vielen Dank! Ich werde das tatsächlich versuchen, nach dem Editieren statische HTMl-Seiten zu generieren. Sicherheitshalber bau ich das Ganze so modular, dass ein Umstieg auf PHP- und datenbankbasierten Content ohne komplette Umstellung machbar wär. Man weiß ja nie ;-)
Merci euch allen und feine Feiertage!
Schliff
Guten Morgen!
ich hab eine Webseite mit einem kleinen Wiki - klein heisst, dass die Inhalte nicht ständig geändert werden, der Rest der Webseite aber schon viele User hat.
Nun möchte ich für den Rest der Seite Entlastung schaffen und die Wiki-Artikel in HTML-Dateien speichern zum direkten Aufruf, dass die Datenbank für die restliche Seite nicht (bzw. kaum) in Anspruch genommen wird.Nun bin ich auf diesen Artikel gestoßen http://www.heise.de/open/artikel/DokuWiki-224560.html und die schreiben, dass das Wiki über Text-Dateien läuft und deshalb langsam ist - dies gilt aber doch wohl nur, wenn häufige Änderungen nötig sind, oder?
Ich war nämlich bisher immer der Meinung, dass die meiste Entlastung für einen Webserver und Datenbank erfolgt, indem die Inhalte direkt über HTML-Dateien angezeigt werden. Wie seht ihr das?Freu mich auf Meinungen, viele Grüße,
Schliff
hi,
Na, das ist doch mal ein Haufen Input - vielen Dank! Ich werde das tatsächlich versuchen, nach dem Editieren statische HTMl-Seiten zu generieren. Sicherheitshalber bau ich das Ganze so modular, dass ein Umstieg auf PHP- und datenbankbasierten Content ohne komplette Umstellung machbar wär. Man weiß ja nie ;-)
Mein Content-Manager schickt mit
prompt> cman.pl -r -f index.html
die Datei index.html zum Server, wo ein Script den Body sowohl in eine DB als auch als komplette HTML-Datei mit HTML-HEader und -Footer als Datei auf den Server schreibt. Daneben werden alle Attribute zu index.html, wie title, descr, lastmod... in eine ini geschrieben. Damit hab ich zwei Möglichkeiten, entweder die Datei aus dem FS zu laden (statisch) oder aus der DB (dynamisch, mod_rewrite).
Mur mal so als Idee....
Hotti