Homepage selbermachen 7.852 Themen, 35.619 Beiträge

PHP in HTML Seiten wie bei Nickles: xx.php?id=234 -> 234.htm

Heinz_Malcher / 13 Antworten / Baumansicht Nickles

Es gibt ja die Möglichkeit, wie auch auf nickles.de statt xxx.php?id=234 auch 234.htm anzeigen zu lassen, das heisst aus dynamischen statische Seiten erzeugen.

Das sollte eigentlich den Server weniger belasten oder ? Welches System und was steckt dahinter? Welche Vorraussetzungen benötige ich? ist das System überhaupt noch möglich, wenn ich 2 Variablen über die URL übermittle, beispielsweise statt xxx.php?id=234&boardID=2

Danke für jede Antwort

bei Antwort benachrichtigen
Zaphod Heinz_Malcher „PHP in HTML Seiten wie bei Nickles: xx.php?id=234 -> 234.htm“
Optionen

... wenn du statische Seiten erstellst, steht da genau das drin, was der Browser kriegen würde ;-) - inklusive der Werte deiner Variablen. Damit dürfte klar sein, dass das nur für Seiten sinnvoll ist, deren Inhalt sich nicht ändert - die einzelnen Postings bei Nickles. Probleme gibt es bei großen Seiten auf dem Server: wenn sehr viele - relativ kleine - Dateien gespeichert weren müssen, könnten die Inodes (jede Datei braucht unter Linux eine Inode) knapp werden. Bei vielen Providern gibt es deshalb neben der Speicherplatzbeschränkung auch eine Begrenzung der Anzahl von Dateien, die in einem Account gespeichert werden dürfen ...
Ich denke, die Sache macht nur Sinn auf einem eigenen Server mit viel Traffic. Eventuell lohnt es sich sogar, die statischen Seiten auf einem separaten Server abzulegen ...

bei Antwort benachrichtigen
Heinz_Malcher Zaphod „... wenn du statische Seiten erstellst, steht da genau das drin, was der Browser...“
Optionen

Hallo und danke für deine Antwort.

Eigentlich dachte ich, sei die methode sinnvoll, wenn man traffic vermeiden will, das heisst, die html seite kostet weniger performance als jedesmal eine PHP Seite erzeugen zu lassen.

Dem ist anscheinend nicht sol Wozu ist das System das bei nickles angewandt wird, dann gut :) ??

bei Antwort benachrichtigen
Zaphod Heinz_Malcher „Hallo und danke für deine Antwort. Eigentlich dachte ich, sei die methode...“
Optionen

Es geht einfach darum: CPU-Zeit ist teuer, Traffic und Speicherplatz (relativ) billig. Dynamisches Erzeugen von PHP-Seiten braucht CPU, statische Seiten verbrauchen Traffic und Speicherplatz, erzeugen aber kaum CPU-Last.
Wenn du Traffic sparen willst, sorge dafür, dass niemand auf deine Seite kommt ;-) (oder kaufe ausreichend Traffic ein).

bei Antwort benachrichtigen
Heinz_Malcher Zaphod „Es geht einfach darum: CPU-Zeit ist teuer, Traffic und Speicherplatz relativ...“
Optionen

Hi, danke für die Ausführung, glaube jetzt ist mir einiges klarer.

Traffic hab ich zwar für meine begriffe genügend (4GB/Monat) aber die CPU leistung berechnet mir mein provider nicht :) daher schöpfe ich die lieber erstmal aus. Ist ja nicht so dass ich mehrere tausend visites hab aber nur generell...

heisst das konkret also:

folgende seite kostet mehr CPU Leistung
xxxx.php4?id=12&tabelle=postings

als diese, die jedoch mehr traffic kostet:
12.html

bei Antwort benachrichtigen
Zaphod Heinz_Malcher „Hi, danke für die Ausführung, glaube jetzt ist mir einiges klarer. Traffic hab...“
Optionen
bei Antwort benachrichtigen
xafford Heinz_Malcher „Hi, danke für die Ausführung, glaube jetzt ist mir einiges klarer. Traffic hab...“
Optionen

man kann das so nicht sagen, daß das mehr oder weniger CPU-leistung kostet. wenn du eine php-seite so alegst, daß sie eine statische seite erzeugt, so braucht das die selbe cpu-löeistung wie wenn die php-seite ihren output an den browser sendet. der vorteil iegt darin, daß die cpu-leistung nur 1 mal anfällt, danach steht nämlich die html-seite und diese wird ausgeliefert. daraus ergibt sich, daß es nur sinn macht, wenn du eine seite hast, die für alle surfer gleich ist, wie z.b. gästebücher, foren, etc. hast du allerdings personalisierte seiten, in denen sich die variablen häufiger ändern oder für jeden surfer unterschiedlich sind, so mach es keinen sinn diese statisch zu generieren, da du insgesamt mehr cpu-last erzeugst, als wenn sie speziell nur einmal gebaut und angezeigt wird.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Heinz_Malcher xafford „man kann das so nicht sagen, daß das mehr oder weniger CPU-leistung kostet....“
Optionen

Hi Xafford, danke auch dir für deine Antwort.

Um es zu konkretisieren: Mir schwebt folgendes vor:

Ich habe eine Seite mit lauter Titeln zu einzelnen Berichten. Bei Klick auf den Titel sieht es derzeit so aus, dass die ID (also nur eine Variable) übermittelt wird, um den ganzen Bericht auf einer anderen seite anzeigen zu lassen.

nun hatte ich vor, sei es aus reinem interesse, die seiten nicht der art anzeigen zu lassen: seite.php?id=1
sondern eben 1.html

die seiten enthalten berichte, zu denen der User die Möglichkeit hat, einen Kommentar zu schreiben (vergleichbar mit den nickles news)

weiss nicht ob es sinnvoll wäre, hier in html dateien als statische zu wandeln. da einerseits der bericht aus der DB geholt wird und sich ja nicht verändert, andererseits hat der user die möglchkeit was zu schreiben, also ändert sich die seite auch wieder.

bei Antwort benachrichtigen
Zaphod Heinz_Malcher „Hi Xafford, danke auch dir für deine Antwort. Um es zu konkretisieren: Mir...“
Optionen

... das wäre ein Grenzfall: wenn viele User den Bericht lesen, aber nur wenige kommentieren, kann es sich lohnen, den Bericht mit den Kommentaren in eine statische Seite zu schreiben, die dann nur neu erstellt werden muss, wenn jemand einen Kommentar schreibt. Wenn einer von 1000 Besuchern nur einen Kommentar schreibt, sparst du die Erstellung von 999 Seiten ;-), bei einem von 100 immer noch 99 Seiten. Wenn aber fast jeder schreibt, dann lohnt es sich nicht mehr ...

bei Antwort benachrichtigen
Heinz_Malcher Zaphod „... das wäre ein Grenzfall: wenn viele User den Bericht lesen, aber nur wenige...“
Optionen

ich denke ich werde es einfach mal testen,

frage ist nur noch wie genau stelle ich das an? :)

bei Antwort benachrichtigen
Dumistvieh Heinz_Malcher „ich denke ich werde es einfach mal testen, frage ist nur noch wie genau stelle...“
Optionen

Ganz einfach.

Du erstellst ein "Gerüst" mit der ID der Kategorie. Die statische HTML-Datei wird dann einfach durchgeschleift. Bei z.B. ?id=1 liest Du 1.html aus (passthru() oder simpel include()). Danach wird einfach dynamisch abgefragt, ob Comments vorliegen. Du kannst die Comments auch dann noch in einer weiteren Datei einfach schreiben wie 1c.html und diese dann nochmals durchschleifen. Dann ist nur die ID bei dem GET-Request variabel...

Gruß
Dumistvieh

--- wie immer: ALLE ANGABEN OHNE GEWEHR ÄH GEWÄHR!
bei Antwort benachrichtigen
Dumistvieh Heinz_Malcher „PHP in HTML Seiten wie bei Nickles: xx.php?id=234 -> 234.htm“
Optionen

Hallo,

Was definiert Ihr unter "Traffic"? Ob ich jetzt eine 50 Kbyte Seite dynamisch, mit welcher Sprache auch immer, zusammenfummele oder als HTML lese, es bleiben 50 Kbyte -> ergo Traffic bleibt gleich. Die Übertragung des Webservers wird gezählt, jedenfalls bei meinem Provider, und nicht wieviele Dateien ich von Platte kratzen muß. Es sei denn, ich habe eine falsche Vorstellung von Traffic.

Wenn der Provider einen hochoptimierten Webserver besitzt (teilweise auch selber im Code tweakt) und blitzschnelle Server zum Einsatz kommen, ist der Nachteil eher marginal und liegt garantiert bei wenigen Prozent, auch auf Virtualhost-Umgebungen. Dafür ist jedoch, kann ich mir vorstellen, extrem viel Erfahrung auf diesem Gebiet nötig. In der Regel sollte ein Watchdog die CPU-Zeit überwachen und zur Not den Prozess killen bevor er den ganzen Server mit hinunterreißt. Aber das sind Dinge des Hosters, nicht des Kunden.

Man sollte CPU-Zeit beim schonenden Programmieren einsparen. Wenn ich zum Beispiel eine GD-Anwendung habe, die den Traffic grafisch pro Monat darstellen soll, und jeden Monat einzeln bearbeite, dann frißt der unendlich Performance. Besser wäre es abgelaufene Monate zu cachen und nur den aktuellen zu zählen. Da finde ich, sollte man ansetzen. Natürlich setzt das einige Erfahrung beim Programmierer vorraus. Wenn man den Server zu sehr belastet, meldet sich der Provider schon von selber. Man muß es aber nicht so weit kommen lassen ;)

Gruß
Dumistvieh

--- wie immer: ALLE ANGABEN OHNE GEWEHR ÄH GEWÄHR!
bei Antwort benachrichtigen
xafford Dumistvieh „Schonend programmieren heißt die Devise!“
Optionen

deine definition von traffic stimmt schon. der traffic ist das, was aus der netzwerkschnittstelle rauskommt, bzw was reingeht (ja, traffic ist im normalfall auch das, was in deinen server läuft, zumindest wenn es nennenswert wird)...im thread war es nur ein aneinander-vorbei-reden was traffic und last angeht.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Borlander Heinz_Malcher „PHP in HTML Seiten wie bei Nickles: xx.php?id=234 -> 234.htm“
Optionen
wie bei Nickles
Ich habe den Eindruck das die Postingseiten auch dynamisch generiert werden. Sieh Dir z.B. mal diese Seite an mit einer Posting ID die garnicht existiert. Da bekommst Du einen mySQL Fehler.

Ich denke mal das wären bei Nickles.de eine bisschen zu viele Dateien um das statisch zu machen. TW wird aber sicher wissen, wies hier läuft.


CU Borlander
bei Antwort benachrichtigen