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

Kod: Zaznacz cały

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.

: 07 marca 2010, 22:42
autor: sojeft

Kod: Zaznacz cały

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.

: 07 marca 2010, 23:24
autor: Err
Przez:

Kod: Zaznacz cały

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ł?

: 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:

Kod: Zaznacz cały

htop

Dodano:

Przede wszystkim zainstaluj mod_evasive aby wyeliminować problem z zewnątrz.

Kod: Zaznacz cały

apt-get install libapache2-mod-evasive
Do pliku httpd.conf dopisz coś takiego:

Kod: Zaznacz cały

Include conf/extra/httpd_evasive.conf
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