Skocz do zawartości
mateo22

Streaming video i Lighttpd się zawiesza

Polecane posty

Witam,

Mam serwer VPS z zainstalowanym lighttpd + php-cgi do obsługi streamingu filmów z MegaVideo. Jednak serwer dość często łapie zawieszkę. Pomaga restart lighttpd. W error log w zasadzie nie ma nic poza kilkoma:

2011-01-06 11:01:50: (server.c.1258) NOTE: a request for /stream.php?file=OYHC43HV&pos=0

timed out after writing 2279042 bytes. We waited 360 seconds. If this a problem increase server.max-write-idle

Zmiana wartości server.max-write-idle na większą nie pomaga. W momencie zawiechy zasoby serwera są praktycznie nieużywane (load: 0, ok. 100mb ram).

Ktoś wie o co może chodzić?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

tzn ja tez mam cos takiego ze gdzie po okolo 20 minutach film sie zawiesza;(

 

a Ty korzystasz ze skryptu NGCoders ?

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Efektem jest prawdopodobnie zapchanie pamięci tymczasowej lighttpd, gdyż streamujac plik lighttpd dane zapisuje w plikach tymczasowych lub pamięci ram (nie tmp) i to jest powodem zawiechy całej aplikacji.

Niestety rozwiązania na ten temat nie znalazłem, dodam że na nginx ten efekt również występuje.

 

Jedynie na Apache2 kiedyś przy kombinacjach z modami, preforkami udało mi się ustawić że mimo totalnego ruchu streamingowego wszystko chodziło jak burza, ale konfiguracje staciłem i mimo zabaw nie udalo mi się takiej samej znów "wyczarować".

 

Może ktoś wie jak temu zaradzić na Lighttpd, Apache2 lub nginx ?

Edytowano przez headShot1 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

udalo mi się zauważyć, że zawiesza się jedynie php natomiast np pliki html działają a jak wczesniej uruchomiles film to on nadal buforuje sie i można oglądać

 

nie wiem dokladnie czy to czasem nie przez kod w skrypcie czy flowplayera dlatego na swojej stronie zainstalowalem jw player nie można także przewijać filmu

 

mam nadzieje że już bedzie lepiej

 

pozdrawiam

Edytowano przez limes (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Według mnie jest to spowodowane źle napisanym skryptem.

 

Kiedyś miałem dokładnie to samo na serwerze - miałem skrypt do streamingu plików z hostingów jak np. Rapidshare, HotFile itd.

I pewnego dnia coś pozmieniałem w skrypcie i nagle plik najpierw zapisywał się do RAM'u a dopiero potem wysyłał do użytkownika..

 

Generalnie po naprawieniu skryptu wszystko było ok.

Najlepiej postaw na innym serwerze czystą konfigurację apache2+php i sprawdź, jak wtedy będzie działał skrypt - po włączeniu filmu monitoruj zużycie RAMu.

 

Pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Kiedyś miałem dokładnie to samo na serwerze - miałem skrypt do streamingu plików z hostingów jak np. Rapidshare, HotFile itd.

I pewnego dnia coś pozmieniałem w skrypcie i nagle plik najpierw zapisywał się do RAM'u a dopiero potem wysyłał do użytkownika..

Bo tak działa streaming, zapisuje plik do RAM, przez co od razu go wysyła użytkownikowi.

 

Ciekawe czy jest możliwość aby zapisywało to na dysk ?

Bo przy 1 pliku serwer www potrafi zjeść 128 MB ramu :unsure:

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bo tak działa streaming, zapisuje plik do RAM, przez co od razu go wysyła użytkownikowi.

 

Ciekawe czy jest możliwość aby zapisywało to na dysk ?

Bo przy 1 pliku serwer www potrafi zjeść 128 MB ramu :unsure:

 

Tak, tylko że u mnie się to tak fajnie zapisywało, że nie zapisywał się plik od razu np. 100MB tylko 1MB się zapisywało i 1MB usuwało (podaję przykładowe wartości, bo nie pamiętam, wiem, że żadnych "skoków zużycia RAMu" nie było).

 

Pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Odświeżam temat, czy ktoś znalazł rozwiązanie ?

 

Wszelkie błędy z kodu php zostały zlikwidowane w moim przypadku w error.log nie pokazuje żadnych błędów, dalej jak 2-3 osoby oglądają film PHP się zawiesza do momentu jak ktoś przestanie oglądać.

Chodzi o lighttpd, a na apache skrypt nie działa.

 

Musimy jakoś temu przeciwdziałać, wszelkie propozycje mile widziane.

Edytowano przez limes (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

nie mogę edytować poprzedniego tematu ale napiszę, że skrypt działa dobrze na apache - pozdrawiam !

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może przesiadka na nginx ? Lighttpd zawiódł mnie już kilka razy przy dużym trafficu, omijam szerokim łukiem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Problem leży w PHP, lighttpd używa bodajże 4 lub 8 procesów PHP, gdy wejdzie te 4 lub 8 osób serwer nie obsłuży więcej requestów streamingu przez co się zawiesza ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

U mnie po zmianie maszyny apache2 przerywa pliki które lecą przez header, czyli są streamowane :(

Nie mam pojęcia co jest grane, wszystkie timeouty na 0, wszystko git taki sam config jak z poprzedniego serwera i tam nie przerywało :mellow:

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Raczej nie chodzi tu o zapchanie pamięci bo błąd występuje zawsze w niedziele nad ranem... Sprawa nadal aktualna.

 

Mam natomiast pytanie, jak skonfigurować Apache aby poprawnie obsługiwał streaming filmów z Megavideo itp. Problem polega na tym, że na apache nie da rady przewijać filmów (próba przewinięcia kończy się powrotem do początku filmu). Na lighttpd nie ma z tym żadnych problemów. Jest to na pewno możliwe, bo znajomy z konkurencyjną stroną jedzie właśnie na apachu z tym, że ktoś tam mu konfigurował serwer i nie umie mi odpowiedzieć jak ma to zrobione.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

mi jednak smiga na apachu bez problemu, przewijanie rowniez działa, jezeli wraca Ci do początku to prawdopodonie problem ze skryptem

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

mi jednak smiga na apachu bez problemu, przewijanie rowniez działa, jezeli wraca Ci do początku to prawdopodonie problem ze skryptem

 

Ale testowalem swoje skrypty na jego serwerze i działa git, więc raczej nie wina skryptu...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×