|
Wysokie obciążenie serwera - Apache2
Err - 07-03-2010 21:34
Witam. Od jakiegoś czasu zauważyłem na serwerze duże "mulenie". Po wpisaniu polecenia:
top
widzę obciążenie serwera:
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.
mendeczka - 07-03-2010 21:46
Odpal
htop
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.
sojeft - 07-03-2010 22:42
strace procesu
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.
Err - 07-03-2010 23:24
Przez:
htop
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ł?
Karol Mrozik - 07-03-2010 23:59
Zainstaluj mod_evasive do apache bo później pojawi się kolejny problem z obciążeniem.
Err - 08-03-2010 00:12
Czy możesz opisać na czym polega działanie modułu mod_evasive?
Karol Mrozik - 08-03-2010 00:49
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
Err - 08-03-2010 08:15
Dziękuję, rozumiem. Jednak nadal nie wiem skąd takie obciążenie... Czy jest jakiś sposób żeby to sprawdzić?
Karol Mrozik - 09-03-2010 01:33
Sprawdź wyniki poleceń:
top
lub:
htop
Dodano: Przede wszystkim zainstaluj mod_evasive aby wyeliminować problem z zewnątrz.
apt-get install libapache2-mod-evasive
Do pliku httpd.conf dopisz coś takiego:
Include conf/extra/httpd_evasive.conf
Utwórz ten plik:
touch /etc/httpd/conf/extra/httpd_evasive.conf
a w nim:
<IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSEmailNotify mail@domena.pl </IfModule>
Dopisz w httpd-phpmodules.conf:
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
Sprawdź czy tam jest ten plik *.so
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|