Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
Chcemy zaprząc serwer do wyświetlania reklam. Musi to być szybki i wydajny.
Zaczynamy próbować z Ngnix, ale po puszczeniu kilkuset reklam mam taki błąd w error logu
7182#0: accept() failed (24: Too many open files) while accepting new connection on 0.0.0.0:80
Dokumentacji jeszcze się nie doszukałem Macie może pomysła gdzie to się zwiększa ?
Dzięki
Redelek
Offline
A to czasem pamieci dla programy nie zapchaliscie lub nawet pamieci operacyjnej? :]
Offline
qluk napisał(-a):
A to czasem pamieci dla programy nie zapchaliscie lub nawet pamieci operacyjnej? :]
Nie serwerek działał poprawnie nie było problemu , miejsce na dysku było ponad 130GB.
Ramu ma 8GB i nawet nie zaczął swap-ować :)
Problem jest w tym że chyba sam serwer ma ograniczoną ilość zapytań ale jak to zwiększyć na razie mam ustawine tak
user www-data; worker_processes 5; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 2000; }
wydaje mi się że worker_connections 2000; lub worker_processes 5; jest ustawiony za mało. Serwer transmituje reklamy internetowe więc ma kilkaset jak nie kilka tysięcy zapytań na sekundę.
Może coś można zmienić
Redelek
Offline
Nie uzywalem jeszcze ale na logike z tego co podales to:
worker_processes okresla ileprocesow ma byc odpalonych
worker_connections ilosc polaczen (prawdopodobnie na proces)
Zwieksz wiec z 5 do 10 sprawdź jak wyglada drzewko procesow odpalonych (przed zmiana i po zmianie). Jesli to tak dziala to ilosci polaczen bardzo bym nie ruszal bo mozliwe ze to ograniczenie jest w samym algorytmie wiec sadze ze maks x2 podniesc ilosc polaczen. A potem regulowac iloscia procesow, ale nie wiem czy napewno tak to dziala.
Offline
qluk napisał(-a):
Nie uzywalem jeszcze ale na logike z tego co podales to:
worker_processes okresla ileprocesow ma byc odpalonych
worker_connections ilosc polaczen (prawdopodobnie na proces)
Zwieksz wiec z 5 do 10 sprawdź jak wyglada drzewko procesow odpalonych (przed zmiana i po zmianie). Jesli to tak dziala to ilosci polaczen bardzo bym nie ruszal bo mozliwe ze to ograniczenie jest w samym algorytmie wiec sadze ze maks x2 podniesc ilosc polaczen. A potem regulowac iloscia procesow, ale nie wiem czy napewno tak to dziala.
Oki to powalczę myślałem że ktoś tego już używał. Ale jak dojdę do wprawy to coś opiszę:)
Dzięki
Redelek
Offline
Hej podzielę się rozwiązaniem.
Okazało się że to nie Nginx zwracał błąd tylko system Debian.
Debian ma ustawione domyślnie 1024 pliki na raz , a ja dawałem mu ponad 5000 tyś plików:).
Nie wiem jak to na stałe ustawić ale ja poradziłem sobie tak i na razie chodzi.
Wyświetlenie ustawień
ulimit -a
Zwiększenie limitu otwieranych plików
ulimit -n 203452
Do tego dorobiłem skrypt i jak na razie śmiga wszystko
Pozdrawiam
Redelek
Offline
No to musisz zobaczyc czy to nie jest czasem ustawiane podczas kompilacji jajka, jesli tak to nie musisz dopisywac do skryptow startowych :)
Offline