Die Testausstattung bestand aus einem IBM-kompatiblen PC mit Linux. Die Hardware umfasste:
- einen AMD Duron 900-MHz Prozessor.
- eine 20-GB IDE-Festplatte (10+ GB frei).
- 512-MB PC133 SDRAM (256+ MB frei).
- eine 100-MB Ethernet-Karte in einem 2-Computer LAN.
Die Software bestand aus:
- RedHat 7.2 Linux (Kernel 2.4.9).
- GNOME 1.4.
- Perl 5.6.0.
Der Linux-Kernel hatte einen Puffer-Cache in Default-Größe. Perl war mit den Standard-@INC-Pfaden installiert, und auch das Modul HTML::Template war installiert. Vnc wurde für den Fernzugriff als virtuelle X-Windows-Konsole benutzt und lief kontinuierlich. Die einzigen X-Windows-Clients waren xterm-Sessions.
Während der Tests verwendete ich vmstat, um sicherzustellen, dass der Rechner zu keiner Zeit den Festplattencache von Linux für Paging, Swapping oder Flooding nutzt. Vor jedem Testdurchlauf wurden alle Interpreter, Skripts und Dateien in /dev/null gecached. Diese Schritte reichten aus, um sicherzustellen, dass alle benötigten Komponenten im Cache waren und keine heimtückischen Festplattenzugriffe während der Tests auftraten.
Sie können die Skripts zu diesem Artikel als ZIP-Dateien downloaden (gen1.pl, gen2.pl und gen3.pl). Ich habe für jedes eine Standard-HTML-Seite verwendet. Diese HTML-Seite war ungefähr 5 KB groß und erforderte das dynamische Hinzufügen von zwei Headern sowie einigen Tabellenzeilen. Die Datei Test.html enthält ein Beispiel für eine so erzeugte Seite. Da die Seite nicht in einem Browser dargestellt wurde, kam es nicht darauf an, dass der HTML-Code perfekt war.
Zwei Messwerte interessierten mich besonders: der Gesamtspeicherverbrauch und die benötigte CPU-Zeit. Die Berechnung des gesamten verwendeten Speichers wird unter UNIX schnell kniffelig. Für diese einfachen Tests benutzte ich den RSS-Wert von top(1) für den Speicherbedarf, für die Zeitmessungen die Werte von time(1).
Alle Testläufe zur Seitenerstellung wurden 1000 Mal wiederholt, um aussagekräftige Werte von mehreren Sekunden zu erhalten. Für die Standalone-Version von Perl wurden die Skripts jedes Mal neu gestartet. Bei den Tests mit mod_perl wurden die Skripts nur einmal gestartet und liefen dann 1000 Mal in einer Schleife. Die „b“-Versionen der Skripts im Download sind für den Test mit mod_perl, so dass man sie selber ausprobieren kann.
Neueste Kommentare
Noch keine Kommentare zu Effiziente Website-Erstellung mit CGI
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.