Datei-Stream durchreichen: Belastung?

Datei-Stream durchreichen: Belastung?

am 17.08.2006 09:23:57 von Philipp Albig

Hallo,

ich gebe mit

header("Content-Type: audio/mpeg");
header("Content-Disposition: inline; filename=\"stream.mp3\"");
readfile($filename);

einen audiostream durch. $filename liegt auf einer anderen Maschine und
wird Sekunden vorher erzeugt.
Es funktioniert wunderbar.

Meine Frage, da ich keine Ahnung habe, was php/Apache da wirklich macht:
Belastet das den Apache sehr?

(Ich kann auf den Server nicht zugreifen, möchte aber verhindern, dass
ich dem Admin Leid antue, bevor er mir Leid antut)

Besten Dank und Gruß, Ph.

Re: Datei-Stream durchreichen: Belastung?

am 17.08.2006 20:07:08 von Ulf Kadner

Philipp Albig wrote:

> ich gebe mit
>
> header("Content-Type: audio/mpeg");
> header("Content-Disposition: inline; filename=\"stream.mp3\"");

Hallo!

lass hier mal das Leerzeichen nach dem Semikolon weg! der IE bekommt
sonst u.U. damit Probleme

> readfile($filename);
>
> einen audiostream durch. $filename liegt auf einer anderen Maschine und
> wird Sekunden vorher erzeugt.
> Es funktioniert wunderbar.
>
> Meine Frage, da ich keine Ahnung habe, was php/Apache da wirklich macht:
> Belastet das den Apache sehr?

guckst Du hier:

MfG, Ulf

Re: Datei-Stream durchreichen: Belastung?

am 18.08.2006 08:57:25 von m2m tech

Wenn Apache Datein streamt, verwendet es dazu normalerweise eine
Funktion des Betriebssystems namens send_file. Diesem wird nur die
Position der Datei übergeben, das send_file macht den Rest. D.h. es
sendet die Packete wie sie vom Empfänger verarbeitet werden können und
übernimmt die Flußsteuerung ...

Wenn das ganze über PHP läuft mußt Du selbst die Flußsteuerung
übernehmen. Im schlimmsten Fall wird Dein gesamtes File in den Speicher
übernommen, und wartet bis es versendet werden kann. Sollte bei MP3s
nicht so tragisch sein, kann sich aber summieren. Dies tritt vor allem
dann auf, wenn Du mehr Daten zur Verfügung stellst, als der Empfänger
verarbeiten kann. Wenn der Empfänger mit 10Bit/s runterlädt, Du Deine
Flußsteuerung aber auf 100kBit/s ausgelegt hast ... dann bleibt der Rest
im PHP-Ausgabebuffer ...



Philipp Albig wrote:

> Hallo,
>
> ich gebe mit
>
> header("Content-Type: audio/mpeg");
> header("Content-Disposition: inline; filename=\"stream.mp3\"");
> readfile($filename);
>
> einen audiostream durch. $filename liegt auf einer anderen Maschine und
> wird Sekunden vorher erzeugt.
> Es funktioniert wunderbar.
>
> Meine Frage, da ich keine Ahnung habe, was php/Apache da wirklich macht:
> Belastet das den Apache sehr?
>
> (Ich kann auf den Server nicht zugreifen, möchte aber verhindern, dass
> ich dem Admin Leid antue, bevor er mir Leid antut)
>
> Besten Dank und Gruß, Ph.


--
--------------------------------------------
m2m server software gmbh - http://www.m2m.at

Re: Datei-Stream durchreichen: Belastung?

am 21.08.2006 12:21:04 von Philipp Albig

Besten Dank, auch an m2m.

Ulf Kadner schrieb:
> Philipp Albig wrote:
>
>> Belastet das den Apache sehr?
>
> guckst Du hier:
>

Wie verwende ich dieses Adresse? (Ich nehme an, es ist die Adresse einer
Nachricht(?))

Danke und Gruß, Ph.

Re: Datei-Stream durchreichen: Belastung?

am 21.08.2006 12:44:36 von Ulf Kadner

Philipp Albig wrote:

> Ulf Kadner schrieb:
>>guckst Du hier:
>
> Wie verwende ich dieses Adresse? (Ich nehme an, es ist die Adresse einer
> Nachricht(?))

Hallo Philipp!

Ja das ist ne Usenet-Nachrichtenkennung.

Geh einfach zur erweiterten Suche von Google-groups:
http://groups.google.de/advanced_search?q=&

Im untersten Formularfeld (Nachrichten-ID) die Kennung (ohne die Spitzen
Klammern) reinschreiben/kopieren "Nachricht suchen" clicken und
schwups... :-)

MfG, Ulf