Bartko 10 Zgłoś post Napisano Kwiecień 27, 2012 (edytowany) Używam Apache'a z MPM prefork na stronie z materiałami multimedialnymi. Dużo obrazków oraz większe pliku multimedialne po kilkanaście MB. Używałem przez kilkanaście ostatnich miesięcy KeepAlive On oraz konfiguracji: KeepAlive On <IfModule mpm_prefork_module> StartServers 25 MinSpareServers 10 MaxSpareServers 35 ServerLimit 3520 MaxClients 3520 MaxRequestsPerChild 150 </IfModule> Pliki graficzne i multimedialne obsługiwał Lighttpd, ale poprzez Apache Proxy, bo mam tylko jedno IP dostępne. Obecnie zmieniłem system na Debian 6.0 i przy pierwszej konfiguracji dojeżdza do 1003 procesów i zaczyna się mulić strona. Chyba brakuje dostępnej pamięci ram. Musiałem zmienić na: KeepAlive Off <IfModule mpm_prefork_module> StartServers 25 MinSpareServers 10 MaxSpareServers 35 ServerLimit 1000 MaxClients 1000 MaxRequestsPerChild 150 </IfModule> Głównie chyba wyłączenie KeepAlive pomoga, bo spada liczba procesów do 300. 1) Czy Debian 6.0 inaczej obsługuje procesy apache'a niż Debian 5.0. Właśnie po zmianie systemu zaobserwowałem zmianę. 2) Czy jak używam Lighttpd poprzez proxy Apache (przekierowanie na inny port) dla większych plików i obrazków to czy wtedy też proces Apache jest trzymany dzięki KeepAlive aż do końca wczytywania się dużego pliku? 3) Czy może jakoś można stuningować konfigurację, aby mimo włączonego KeepAlive ni było tyle procesów i zajętego całego ramu. Próbowałe z KeepAliveTimeout 2, ale bez zmian. 4) Czy może lepiej całość (Apache + Lighttpd) zamienić na LiteSpeed? Edycja: Dodam jeszcze, że testowałem konfigurację z KeepAlice On na Debianie 6.0 i na dwóch serwerach i wszędzie jest 1002 procesów Apache'e po chwili od uruchomienia. Jednocześnie zajmuje się cała dostępna pamięć RAM (24GB) mimo, że wcześniej było jej dużo GB wolnego. Edytowano Kwiecień 27, 2012 przez Bartko (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Bartko 10 Zgłoś post Napisano Kwiecień 28, 2012 (edytowany) Może komuś coś powiedzą logi z munina. Widać na nich, że przy włączonym KeepAlive liczba procesów osiąga 1000 (mimo, że deklarowałem 1500 akurat dzisiaj). Pamięć też się kończy. Tak jakby chciało zająć 22 GB, a serwer ma tylko 12GB wbrew temu co pisałem, ze ma 24GB. Apache procesy Pamięć Sprawdzane na PHP 5.4.0 i dzisiaj na PHP 5.4.1. Problem wciąż występuje. Edytowano Kwiecień 28, 2012 przez Bartko (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
kamilel 22 Zgłoś post Napisano Kwiecień 28, 2012 serverlimit=maxclients=liczba klientow na Twoim serwerze. Kazdy klient to proces i tak sie zbiera. Nigdy nie uzywalem apache jako reverse proxy. Moze nie radzi sobie z tym? Poszukaj czegos zaprojektowanego do takich rzeczy jak haproxy, nginx, varnish czy traffic server. Udostępnij ten post Link to postu Udostępnij na innych stronach
Misiek08 285 Zgłoś post Napisano Kwiecień 28, 2012 @up ma rację. Jeśli obrazki i duże pliki są podawane tylko dla Twojej strony to postawi nginx'a jako reverse proxy i podawaj nim obrazki + większe pliki, a resztę zostaw Apache. Możesz też całkowicie zapomnieć o Apache, czyli nginx + php-fpm. Udostępnij ten post Link to postu Udostępnij na innych stronach