Grundlage ist mittels PHP binäre Daten (Videos) in beliebig grossen Teilen zu parsen und dann an den Client zu senden.
Der Prozess bedient sich der Funktionen fopen, fseek, print, fclose. Auf was gilt es denn zu achten im Falle von grossen Dateien (150mb>) zu achten
und in welchem zusammenhang steht das mit dem memory_limit, output_buffering, max_execution_time, implicit_flush etc ?
Mir ist unklar an welchen Stellen des Prozesses Zwischenspeicherungen bzw. Weiterleitungen entstehen bzw. wann eine Garbage Collection stattfindet.
Binäre Daten werden eingelesen via PHP. Wird die Abarbeitung des ganzen File im Modul abgewartet bis der Output an den jeweiligen HTTP-Server (Apache) weitergeleitet wird und dieser die Daten dann ausliefert ?
Oder ist diese Technik überhaupt nicht ratsam ?
Das Ziel besteht vereinfacht darin einen geeigneten Streamingserver (Real/Windows/FlashMedia) zu umgehen, um einerseits die Verbindung zwischen Usermanagement und Zugriffsrechten zu erleichtern und andererseits kostenintensive Lizenzen zu umgehen. Hinzu kommt natürlich auch die Bandbreitenkalkulation, die bei non-progessiven (PHP-)Streams erheblich ins Gewicht fallen.
Die Schlüsselfrage ist eigentlich, ob man das o.g. Szenario einem "herkömmlich" konfigurierten Server zumuten kann (wobei ich jetzt mal die Cluster-Architektur ausser acht lasse) , welche PHP-seitgen konfigurationen ins Gewicht fallen und Flaschenhälse auf die es bei einer klassischen LAMP-Konfiguration zu achten gilt.
Vielen Dank für Eure Hilfe,
David
Der Prozess bedient sich der Funktionen fopen, fseek, print, fclose. Auf was gilt es denn zu achten im Falle von grossen Dateien (150mb>) zu achten
und in welchem zusammenhang steht das mit dem memory_limit, output_buffering, max_execution_time, implicit_flush etc ?
Mir ist unklar an welchen Stellen des Prozesses Zwischenspeicherungen bzw. Weiterleitungen entstehen bzw. wann eine Garbage Collection stattfindet.
Binäre Daten werden eingelesen via PHP. Wird die Abarbeitung des ganzen File im Modul abgewartet bis der Output an den jeweiligen HTTP-Server (Apache) weitergeleitet wird und dieser die Daten dann ausliefert ?
Oder ist diese Technik überhaupt nicht ratsam ?
Das Ziel besteht vereinfacht darin einen geeigneten Streamingserver (Real/Windows/FlashMedia) zu umgehen, um einerseits die Verbindung zwischen Usermanagement und Zugriffsrechten zu erleichtern und andererseits kostenintensive Lizenzen zu umgehen. Hinzu kommt natürlich auch die Bandbreitenkalkulation, die bei non-progessiven (PHP-)Streams erheblich ins Gewicht fallen.
Die Schlüsselfrage ist eigentlich, ob man das o.g. Szenario einem "herkömmlich" konfigurierten Server zumuten kann (wobei ich jetzt mal die Cluster-Architektur ausser acht lasse) , welche PHP-seitgen konfigurationen ins Gewicht fallen und Flaschenhälse auf die es bei einer klassischen LAMP-Konfiguration zu achten gilt.
Vielen Dank für Eure Hilfe,
David
Kommentar