Strona 1 z 1
Wysokie obciążenie serwera - Apache2
: 07 marca 2010, 21:34
autor: Err
Witam.
Od jakiegoś czasu zauważyłem na serwerze duże "mulenie". Po wpisaniu polecenia:
widzę obciążenie serwera:
Kod: Zaznacz cały
11186 www-data 40 0 25868 1932 604 R 87.3 0.1 5282:33 apache2
Gdzie 87.3 to procent zużycia procesora.
Jak mogę odnaleźć, co konkretnie zużywa w takim stopniu apache2 na moim serwerze
i który z użytkowników?
Proszę o pomoc.
: 07 marca 2010, 21:46
autor: mendeczka
Odpal
jak nie masz to doinstaluj. Pokaże Ci to troszkę przejrzyściej. (oczywiście nie neguję tu samego TOP). Łatwiej będzie jak sam nam napiszesz co masz poinstalowane na swoim serwerku, Miałem podobną sytuację jak używałem np. ZONEMINDERa.
: 07 marca 2010, 22:42
autor: sojeft
i wszystko zobaczysz. Oprócz tego logi apache. Naprawdę jest masę sposobów na sprawdzenie co Ci tak zużywa zasoby. Zakładając, że to nie jakiś
błąd itp. to najprawdopodobniej jakieś skrypty php. Powiedz coś więcej o konfiguracji serwera.
: 07 marca 2010, 23:24
autor: Err
Przez:
faktycznie, jest bardziej szczegółowy, jednak nie mogę odnaleźć użytkowników, którzy używają tego Apache2. Mogę się domyślać, że to przez skrypt typu ,,rapidleech'' od przesyłania plików. To by wyjaśniało sprawę, jednak chciałbym dotrzeć do konkretnego użytkownika. ,,Strace'' wyświetla bardzo dużo informacji, aż za dużo i nie mogę znaleźć w nich także nic konkretnego.
Może wiecie gdzie znajdują się logi apache? Albo ktoś ma inny pomysł?
: 07 marca 2010, 23:59
autor: Karol Mrozik
Zainstaluj mod_evasive do apache bo później pojawi się kolejny problem z obciążeniem.
: 08 marca 2010, 00:12
autor: Err
Czy możesz opisać na czym polega działanie modułu mod_evasive?
: 08 marca 2010, 00:49
autor: Karol Mrozik
Zapobiega w pewnym stopniu przed atakami DoS, DDoS (
ang. Denial of Service), czyli zajęcie wszystkich wolnych zasobów w Twoim systemie.
Poczytaj:
http://pl.wikipedia.org/wiki/DoS
: 08 marca 2010, 08:15
autor: Err
Dziękuję, rozumiem. Jednak nadal nie wiem skąd takie obciążenie... Czy jest jakiś sposób żeby to sprawdzić?
: 09 marca 2010, 01:33
autor: Karol Mrozik
Sprawdź wyniki poleceń:
lub:
Dodano:
Przede wszystkim zainstaluj
mod_evasive aby wyeliminować problem z zewnątrz.
Do pliku
httpd.conf dopisz coś takiego:
Utwórz ten plik:
Kod: Zaznacz cały
touch /etc/httpd/conf/extra/httpd_evasive.conf
a w nim:
Kod: Zaznacz cały
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify [email][email protected][/email]
</IfModule>
Dopisz w httpd-phpmodules.conf:
Kod: Zaznacz cały
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
Sprawdź czy tam jest ten plik *.so