C
clausmuus
Guest
Hi,
beim Versuch eine grosse Datei per php-script auszuliefern, also nicht durch nen Link auf die Datei, entsteht folgendes Problem.
Ich setze nen Apache 2.0 und PHP 4.3 unter suse 9.1 ein.
Unter Apache 1.3 besteht dieses Problem nicht!
Der auslieferne Apache-Prozess belegt ca. doppelt soviel Speicherplatz wie die gesendete Datei gross ist. Der Speicher wird nach abgeschlossenem Download nicht sofort wieder freigegeben, sondern erst wenn der Apacheprozess für andere Aufgaben benötigt wird. Ich versende die Datei in 4kB blöcken (per fread und print). Somit braucht php nur sehr wenig Speicher.
Bei kleinen Datein bis ca. 5 MB fällt dieses Verhalten von Apache überhaupt nicht auf, sollen jedoch 100MB grosse Datein runtergeladen werden, schmirt mir das gesammte System ab, sobald mehrere Downloads paralel laufen (aus Speichermangel).
Was kann ich nun tuen, um Apache dieses äusserst unangenehme Verhalten abzugewöhnen?
Claus
beim Versuch eine grosse Datei per php-script auszuliefern, also nicht durch nen Link auf die Datei, entsteht folgendes Problem.
Ich setze nen Apache 2.0 und PHP 4.3 unter suse 9.1 ein.
Unter Apache 1.3 besteht dieses Problem nicht!
Der auslieferne Apache-Prozess belegt ca. doppelt soviel Speicherplatz wie die gesendete Datei gross ist. Der Speicher wird nach abgeschlossenem Download nicht sofort wieder freigegeben, sondern erst wenn der Apacheprozess für andere Aufgaben benötigt wird. Ich versende die Datei in 4kB blöcken (per fread und print). Somit braucht php nur sehr wenig Speicher.
Bei kleinen Datein bis ca. 5 MB fällt dieses Verhalten von Apache überhaupt nicht auf, sollen jedoch 100MB grosse Datein runtergeladen werden, schmirt mir das gesammte System ab, sobald mehrere Downloads paralel laufen (aus Speichermangel).
Was kann ich nun tuen, um Apache dieses äusserst unangenehme Verhalten abzugewöhnen?
Claus