klaus: CGI-»FastCGI

Beitrag lesen

Hallo,

Also ich glaub nicht, daß FastCGI bzw. auch mod_perl wirklich schneller ist, wenn Du große Datenbestände bearbeitest.
Diese Techniken sind vor allem dafür gedacht, den Programm-Overhead zu minimieren, also das Starten der Scripts und die Werte-Übergabe vom Server zum script usw.

Wenn das Script einmal gestartet ist und alle Parameter übergeben sind, dann läuft das Script auch unter mod_perl nicht rascher als ohne.

Du solltest Dir den Code eher nach anderen Performance-Bremsen durchsehen. Große Dateien sind beim reinen Einlesen auch nicht so unbedingt das Thema, aber wenn viele Zeilen analysiert und zerlegt und weiterbearbeitet werden, dann kann das schon dauern.
Auch große Arrays bzw Hashes können ein Performance-Problem werden. DA hilft meist nur eine Streamverarbeitung, ohne großes zwischenspeichern der Daten im Memory.
Ein
open(BIGFILE,"$filename");
@GigantArray = <BIGFILE>;
close(BIGFILE);

kann da schon dauern.
Ich glaub nicht, daß Du alle 10 MByte zum Browser schickst, daher ist es meist performanter wenn DU

open(BIGFILE,"$filename");
while(<BIGFILE>)
   {
   &ProcessDataLine($_);
   }
close(BIGFILE);

machst, da der Speicher nicht vollkommen ausgefüllt wird.

Abder das sind alles nur Vermutungen.

Vielleich kannst Du ja den relevanten Code-Teil posten, dann sehen wir weiter.

Grüße
   Klaus