PDA

Bekijk Volledige Versie : Enorme serverload



Bottie
23/08/13, 23:29
Hoi allen,


Sinds een 3 tal weken heb ik af en toe (op 05/08, 11/08 en vandaag) het probleem dat mijn serverload als een raket de hoogte in gaat:


This is an automated message notifying you that the 5 minute load average on your system is 435.93.
This has exceeded the 10 threshold.

One Minute - 478.85
Five Minutes - 435.93
Fifteen Minutes - 311.17

top - 22:35:50 up 71 days, 9:16, 2 users, load average: 469.90, 442.43, 321.90
Tasks: 702 total, 34 running, 667 sleeping, 0 stopped, 1 zombie
Cpu(s): 5.2%us, 0.9%sy, 0.0%ni, 93.0%id, 0.9%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8032432k total, 7179664k used, 852768k free, 12992k buffers
Swap: 4193264k total, 1473508k used, 2719756k free, 66820k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8926 apache 20 0 207m 12m 3052 R 7.3 0.2 0:01.09 /usr/sbin/httpd -k start -DSSL
9125 apache 20 0 209m 14m 3408 R 7.3 0.2 0:01.21 /usr/sbin/httpd -k start -DSSL
10003 apache 20 0 210m 15m 3212 R 7.3 0.2 0:00.36 /usr/sbin/httpd -k start -DSSL
10031 apache 20 0 209m 14m 3212 R 7.3 0.2 0:00.56 /usr/sbin/httpd -k start -DSSL
7180 apache 20 0 279m 47m 2436 R 6.9 0.6 0:03.11 /usr/sbin/httpd -k start -DSSL
7247 apache 20 0 254m 32m 2748 D 6.9 0.4 0:02.12 /usr/sbin/httpd -k start -DSSL
8588 apache 20 0 209m 13m 3032 R 6.9 0.2 0:01.64 /usr/sbin/httpd -k start -DSSL
8965 apache 20 0 209m 14m 2940 R 6.9 0.2 0:01.09 /usr/sbin/httpd -k start -DSSL
9040 apache 20 0 205m 10m 3248 D 6.9 0.1 0:01.25 /usr/sbin/httpd -k start -DSSL
9071 apache 20 0 207m 12m 3308 R 6.9 0.2 0:01.19 /usr/sbin/httpd -k start -DSSL
9856 apache 20 0 209m 14m 3300 R 6.9 0.2 0:00.44 /usr/sbin/httpd -k start -DSSL
9953 apache 20 0 208m 14m 3416 R 6.9 0.2 0:00.39 /usr/sbin/httpd -k start -DSSL
9957 apache 20 0 206m 11m 3228 S 6.9 0.1 0:00.69 /usr/sbin/httpd -k start -DSSL
10015 apache 20 0 209m 14m 3212 R 6.9 0.2 0:00.44 /usr/sbin/httpd -k start -DSSL
10173 apache 20 0 206m 10m 2764 R 6.9 0.1 0:00.55 /usr/sbin/httpd -k start -DSSL
7241 apache 20 0 267m 50m 2424 R 6.4 0.6 0:03.20 /usr/sbin/httpd -k start -DSSL
8585 apache 20 0 207m 12m 3392 R 6.4 0.2 0:01.51 /usr/sbin/httpd -k start -DSSL
9837 apache 20 0 209m 14m 3192 R 6.4 0.2 0:00.72 /usr/sbin/httpd -k start -DSSL
7159 apache 20 0 277m 74m 2436 R 5.9 1.0 0:03.32 /usr/sbin/httpd -k start -DSSL
9969 apache 20 0 205m 10m 3212 D 5.9 0.1 0:00.65 /usr/sbin/httpd -k start -DSSL
7130 apache 20 0 279m 51m 2620 D 5.4 0.7 0:03.26 /usr/sbin/httpd -k start -DSSL
7327 apache 20 0 278m 71m 2624 R 5.4 0.9 0:03.02 /usr/sbin/httpd -k start -DSSL
7114 apache 20 0 279m 53m 2308 D 4.9 0.7 0:03.49 /usr/sbin/httpd -k start -DSSL


================================
Automated Message Generated by DirectAdmin


HTTPD slurpt alle RAM-geheugen op (8Gb RAM geinstalleerd, 4x 3.1gHz XEON). Na het herstarten van de HTTPD-service komt alles terug op zijn plooi (tussen de 0.1 en 1.15 serverload).


Enig idee?



Bedankt,



B

visser
23/08/13, 23:33
Hoi allen,


Sinds een 3 tal weken heb ik af en toe (op 05/08, 11/08 en vandaag) het probleem dat mijn serverload als een raket de hoogte in gaat:


This is an automated message notifying you that the 5 minute load average on your system is 435.93.
This has exceeded the 10 threshold.

One Minute - 478.85
Five Minutes - 435.93
Fifteen Minutes - 311.17

top - 22:35:50 up 71 days, 9:16, 2 users, load average: 469.90, 442.43, 321.90
Tasks: 702 total, 34 running, 667 sleeping, 0 stopped, 1 zombie
Cpu(s): 5.2%us, 0.9%sy, 0.0%ni, 93.0%id, 0.9%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8032432k total, 7179664k used, 852768k free, 12992k buffers
Swap: 4193264k total, 1473508k used, 2719756k free, 66820k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8926 apache 20 0 207m 12m 3052 R 7.3 0.2 0:01.09 /usr/sbin/httpd -k start -DSSL
[..]

7114 apache 20 0 279m 53m 2308 D 4.9 0.7 0:03.49 /usr/sbin/httpd -k start -DSSL


================================
Automated Message Generated by DirectAdmin


HTTPD slurpt alle RAM-geheugen op (8Gb RAM geinstalleerd, 4x 3.1gHz XEON). Na het herstarten van de HTTPD-service komt alles terug op zijn plooi (tussen de 0.1 en 1.15 serverload).


Enig idee?



Bedankt,



B

Kijk in de webserver logs of er veel, en wat voor soort requesten er gedaan worden rondom die momenten .

Bottie
23/08/13, 23:46
Kijk in de webserver logs of er veel, en wat voor soort requesten er gedaan worden rondom die momenten .

In welke log-file kan ik deze vinden?

visser
24/08/13, 00:03
In welke log-file kan ik deze vinden?

Die van de webserver(s) ....
Ik weet niet of DA een speciale plek ervoor gebruikt. Vaak zijn het files in de directory /var/log/apache2 of var/log/httpd/
(access en error logs ).
Heel vaak worden logs per virtual domein apart geschreven, en misschien in een andere directory.

De plek van de logfiles staat weer in de apache configuratie(s).

Mark17
24/08/13, 00:36
Bij DirectAdmin gaat het om /var/log/httpd/domains/ en om de access/error log in /var/log/httpd/. Mogelijk gaat het om een bruteforce attack op WordPress of Joomla!, met bv mod_ruid2 of het draaien van PHP als CGI module is het makkelijker om te zien welke gebruiker de belasting veroorzaakt. Vervolgens hoeft er dan nog maar 1 bestand gecontroleerd te worden. Mocht je dit niet willen draaien dan is het ook wel op een andere manier wel te achterhalen zonder alle logs na te lezen.

DutchTSE
24/08/13, 07:57
/server-status anyone? Daar zie je waarschijnlijk meteen voor welke site veel requests open staan. Moet apache wel nog bereikbaar zijn uiteraard :)

Bottie
24/08/13, 08:33
Er zit inderdaad 1 grote wordpress-site bij, sinds een 3-tal weken is deze gehost op mijn server. Zometeen deze eens onder de loep nemen.

Alvast bedankt voor de respons!

4service
24/08/13, 09:43
Als het ook nog eens dezelfde tijd is dan maar eens kijken naar de wp-cron.php
Als dit hetis dan het beste deze via de server te laten lopen en niet via WP

Bart L
24/08/13, 09:57
Wordpress DDOS attack, googl er maar eens op.

Tijdelijke oplossing ->

Onderaan /etc/httpd/conf/httpd.conf

<Files wp-login.php>
order deny,allow
deny from all
allow from klantIP # KlantIP
</Files>

dennis0162
24/08/13, 10:29
Beetje een nadeel op een Shared hosting server.
Niemand kan meer inloggen op Wordpress als zijn IP-adres niet op de whitelist staat.

Als je mod_security gebruikt kan je deze regels toepassen: http://www.mnxsolutions.com/apache/blocking-wordpress-brute-force-attacks-against-wp-login-php.html

ichosting
24/08/13, 10:40
Wij gebruiken nog een andere mogelijkheid op shared machine, door het plaatsen van een extra apache login scherm met een random gebruikersnaam en wachtwoord in het scherm. Daardoor zakt de load drastisch en hoef je geen IP adressen te blokkeren. De dossers geven dan vrij snel op :)

Als je wilt, kunnen we dit wel implementeren.

Marin
24/08/13, 10:41
Beetje een nadeel op een Shared hosting server.
Niemand kan meer inloggen op Wordpress als zijn IP-adres niet op de whitelist staat.

Je kan het natuurlijk op 1 specifieke vhost toepassen.

Maar ik zou eerst ff met server-status kijken. Helpt ons vaak in dergelijke situaties..

Randy
24/08/13, 10:51
/server-status anyone? Daar zie je waarschijnlijk meteen voor welke site veel requests open staan. Moet apache wel nog bereikbaar zijn uiteraard :)

Dat is inderdaad de enige juiste plek om te kijken. Logfiles worden pas weggeschreven *nadat* een request voltooit is. Bij nasty zaken als slowloris aanvallen zul je dus niets terug vinden in je logfiles, evenzo geldt voor requests die intern een time-out geven door bijvoorbeeld de overschrijving van de php_max_execution_time.