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

Całkowite zużycie RAMu

Polecane posty

Witam

 

Szybkie pytanie, może ktoś pomoże.

 

Mam na serwerze PLESK'a + Apacza + MySQL + PHP. Od początku występuje taki problem: cały czas zużycie RAM'u przez proces apacza jest ogromne i zatyka cały serwer. Nie wiem, co robić - ustawienia niestety domyślne, ale memory_limit jest ustawiony na 128MB.

 

Zrzut do htopa: http://img823.imageshack.us/i/htop.jpg/

Edytowano przez draker (zobacz historię edycji)

Udostępnij ten post


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

Polecam lighttpd :P Na jednym serwerze wywaliłem apacha bo się rozwalał co chwila przy aktualizacjach a to śmiga i mniej ramu mi pobiera :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tylko swoje strony.

 

Lighttpd odpada, nie mam czasu konwertować .htaccess pod niego

nginx nie współpracuje z pleskiem

 

 

Tu raczej chodzi o cfg, a sam nie wiem, gdzie w Apaczu jest linijka odpowiadajaca za max. ilosc tworzacych sie procesów.

 

@edit

zauważyłem, ze tworzy się proces-dziecko za kazdym razem, gdy ktos nowy wchodzi na serwer. Da się jakoś to wyłączyć, czy po prostu w tak dziwny sposob pracuje apacz?

Edytowano przez draker (zobacz historię edycji)

Udostępnij ten post


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

Wszystko jest kwesta konfiguracji.

Na moim serwerku stoja dwa duże fora na VB i obecnie przy okolo 180 userach online w sumie zużywa 830-860MB RAM

Nie da sie tak w 5 zdaniach podac poprawna koniguracje dal każdej strony.

Zawsze optymalizuje sie z biegiem czasu, aż dojdzie sie do pożądanego efektu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys
@draker, jakiego używasz mpm w apache?

Zgadnij jaki jest standardowy MPM w apache który obsługuje mod_php i fcgi ?

 

Update softu + sprawdzić konfiguracje/obniżyć wartości.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dokładnie, tutaj lekko zoptymalizowany przeze mnie cfg mpm'a:

 

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
StartServers   	5
MinSpareServers	5
MaxSpareServers	10
MaxClients  	150
MaxRequestsPerChild   4000
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
StartServers   	5
MinSpareThreads	5
MaxSpareThreads	10
ThreadLimit      	0
ThreadsPerChild  	25
MaxClients  	150
MaxRequestsPerChild   4000
</IfModule>

# event MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
<IfModule mpm_event_module>
StartServers   	5
MaxClients  	150
MinSpareThreads	5
MaxSpareThreads	10
ThreadLimit      	64
ThreadsPerChild  	25
MaxRequestsPerChild   4000
</IfModule>

 

Jest lekko lepiej, ale nadal skacze do 2GB zuzycia RAM'u czasem. Ma ktos pomysl, co zmienić? Serwer dosyć dobry, a wczesniej uzywajac lighta nic takiego nie bylo...

Udostępnij ten post


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

Sprawdź w Process Manager albo czymś takim czy masz aktywne procesy:

 

/usr/sbin/clamd
/usr/bin/perl -w /usr/sbin/eximstats

 

Możesz z robić im Kill jeżeli wcinają za dużo, lub użyć opcji:

 

[b]/etc/init.d/clamd stop
httpd restart[/b]

 

Możesz też użyć:

[b]/scripts/restartsrv_exim[/b]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@draker, rzuć wynikiem komendy apache2ctl -V | grep mpm

@p że tak powiem - różnie bywa i czasem w użyciu jest worker.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

tym:

root@lvps46-163-76-120:~# apache2ctl -V | grep mpm

-D APACHE_MPM_DIR="server/mpm/prefork"

 

mpm na czerwono

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ale już czytałem dokumentację, jejku, przecież mówię że próbowałem coś zmienić, tylko nie mogę dobrać cfg pod mój serwer.

 

Parametry:

1 rdzeń Xeona 2,9GHz, nie pamietam modelu, ale wyprodukowany pod koniec '10

2GB Ram

reszta niepotrzebna

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może by spróbować z Litespeedem w wersji standard ?

Przyjazny panelik, ciekawe opracowanie techniczne, ciekawa wydajność, PHP realizowane poprzez własne SAPI - lsphp.

 

W razie pytań, bij na PW.

Edytowano przez ^^KaMaZZ~.^ (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jedyną rzeczą, na której mi zależy jest apaczowy mod_rewrite, bo mam ogromny .htaccess i przepisanie go pod nowy serwer webowy nie wchodzi w grę. Czy ten litespeed obsluguje rewrita?

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ć  

×