Skocz do zawartości
Zaloguj się, aby obserwować  
whatdefak

nginx - po kilku request zaczyna mulic?

Polecane posty

Cześć,

 

Mam nginx i na nim stoi strona hosting plików, i taki jest problem gdyż kilka osób odpali pobieranie plików strona zaczyna masakrycznie mulić, i nie wiem o co chodzi żeby temu zapobiec?

 

Dodam że to jest nie typowy hosting plików iż pobieranie jest wykonywane przez curl z innego serwera, hosting jest podzielony na 3 serwery, i wywlouje to curlem, zapobiega to pauzowaniu plików i dobiera idealna lokalizacje dla pobieracza, przez co plik się cachuje prawdopodobnie w pamięci, gdyż plik jest nigdzie nie zapisywany na dysku tylko od razu przerzucany.

 

apache2 rowniez nie daje rady, mimo ze posiada taki moduł cache, ustawilem tam zeby zapisywal na dysku i maks 64 mb mimo to apache zjada caly ram swoimi procesami.

 

vps 512 mb ram

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Spróbuj zwiększyć ilość workerów.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Daj screenshot z konsoli, gdy odpalisz htop

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

"Muli" przez statykę czy muli część dynamiczna ?

Może problem jest nie z Nginx, a jakimś php-fpm czy fastcgi pod pythona które trzeba odpowiednio "dostosować".

 

Co do statyki procesy nginxa blokują się na dostępnie do dysku, dopóki nie odczyta danego pliku to nie obsłuży innego żądania...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Używam fastcgi gdyż php-fpm pod debiana nie mogłem znaleźć :unsure:.

Możliwe że to jest to,

 

19133123696821333871.jpg

 

 

w tej chwili mam:

nginx config - http://wklej.org/hash/f7f6e5be091/

 

a tu skrypt ktory odpalam fastcgi

#!/bin/sh

 

CHILD_COUNT=64

PORT=9000

USER=www-data

GROUP=www-data

 

exec /usr/bin/spawn-fcgi -f /usr/bin/php5-cgi \

-a 127.0.0.1 -p $PORT \

-P /var/run/fastcgi-php.pid \

-u $USER -g $GROUP \

-C $CHILD_COUNT

 

w czym leży problem?

 

teraz zwiększam do 24 workerow, i 96 childow, juz nie wiem jak mam to ustawić, czy może coś innego jest problemem

Edytowano przez headShot1 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zadam nieco durne pytanie z innej beczki - jakie łącze posiadasz na tym wynalazku?

Może po prostu przy większej ilości ssanych zasobów je sobie wysycasz, i dlatego coś ci "muli"?

Bo jeśli dobrze zrozumiałem zasadę działania - to przez curl coś pobierasz (sporej dawki transfer przychodzący + conieco wychodzącego na kontrolę przepływu) no i to dalej wysyłasz (tutaj znowu sporo uploadu i tyci downloadu).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zadam nieco durne pytanie z innej beczki - jakie łącze posiadasz na tym wynalazku?

Może po prostu przy większej ilości ssanych zasobów je sobie wysycasz, i dlatego coś ci "muli"?

Bo jeśli dobrze zrozumiałem zasadę działania - to przez curl coś pobierasz (sporej dawki transfer przychodzący + conieco wychodzącego na kontrolę przepływu) no i to dalej wysyłasz (tutaj znowu sporo uploadu i tyci downloadu).

 

łącze które posiadam to ok. 300 Mbit/s

Cachefly leci na obciążonym serwisie spokojnie po 20~30 MB/s, a łącza używam w maksymalnych granicach 50 Mbit/s w tą i w tą.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Naciśnij F5 i pokaż jeszcze raz.

FPM na Debiana jest w repo dotdeb.org jak i nginx 1.0 - warto zaktualizować, i wtedy jeszcze raz sprawdzić.

 

.2 procesy po 4 wątki powinny wystarczyć.

 

Na pewno nie ma w skryptach jakiś błędów? Może coś się zapętla?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

FPM znalazłem na dotdeb, ale jakiś stary bo moje skrypty które nie plują błędami na apache2 + php5 to pluły na FPM i nie działo ponad 60% funkcji itd.

 

Workery ustawiłem na 24, i childy na 96 to serwer złapał load avarage aż 50, i vpsa mi zablokowali huh :huh:

 

Ustawie na 2 procesy po 4 wątki, i dam htopa jak znów będzie "muł".

 

//edit

a skrypty raczej odpadają, gdyż na apache2 działa all poprawnie bez "muł" tylko że apache2 tworzy procesów aż do całego ramu, przez co serwer nie jest do uzytku, i pliki przerywa czasami. Ale strona dalej działa szybko.

Edytowano przez headShot1 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

nie moge edytować, ale cóż

57070904739882058704.jpg

 

więc raczej wszystko w normie, a mimo to obciążenie:

hs1:~# ifstat

venet0

KB/s in KB/s out

3447.56 2843.26

 

i serwer już zaczyna otwierać strony ponad 10 sekund

 

//edit

już jestem skłonny zapłacić za konfiguracje nginx, ale wolałbym się nauczyć sam niż odwalac cała robote za kase.

Edytowano przez headShot1 (zobacz historię edycji)

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ę

Zaloguj się, aby obserwować  

×