apache cpu use schiet omhoog

Pagina: 1
Acties:

  • Speedener
  • Registratie: September 2000
  • Laatst online: 09:05
Al enkele dagen heb ik het probleem dat de CPU use van mijn slackware bak erg hoog is (100%). Apache/httpd is de boosdoener. Ik gebruik versie 1.3.27

Afbeeldingslocatie: http://develop.speedener.nl/var/png/cpu-day.png

Elke keer stop ik het door "killall -HUP httpd" te doen, maar dat is geen oplossing uiteraard.

Iemand enig idee waar het te maken mee kan hebben?

Ik heb de MaxSpareServers al naar 55 verhoogd. Maar het helpt niet.

Bovenkantje van mijn apache conf:
# Section 1: Global Environment

ServerType standalone

ServerRoot "/usr"

PidFile /var/run/httpd.pid

ScoreBoardFile /var/run/httpd.scoreboard

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

MinSpareServers 35
MaxSpareServers 55

StartServers 5

MaxClients 150

MaxRequestsPerChild 0
Top commando:
code:
1
2
3
4
5
6
7
8
9
 21:36:54 up 2 days,  1:11,  1 user,  load average: 1.87, 0.89, 0.95
90 processes: 86 sleeping, 4 running, 0 zombie, 0 stopped
CPU states:  98.6% user,   1.4% system,   0.0% nice,   0.0% idle
Mem:    383316K total,   303936K used,    79380K free,     5276K buffers
Swap:   746980K total,    13460K used,   733520K free,   127112K cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
12352 nobody    19   0 98.2M  98M  3124 R    49.9 26.2   1:52 httpd
12282 nobody    14   0 21992  21M  3628 R    49.3  5.7   0:08 httpd

[ Voor 80% gewijzigd door Speedener op 27-09-2003 21:37 ]


  • Arnout
  • Registratie: December 2000
  • Laatst online: 28-04 21:01
MaxSpareServers 55? Lijkt me niet verstandig. Welke apache versie?

  • Speedener
  • Registratie: September 2000
  • Laatst online: 09:05
MetHod schreef op 27 september 2003 @ 21:26:
MaxSpareServers 55? Lijkt me niet verstandig. Welke apache versie?
1.3.27 Ik heb mijn Startpost wat aangepast

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
kan je ook zien wat ie doet?
zijn er bepaalde processen zoals het parsen van mega grote php files, oneindige loops etc?

ben je enige gebruiker op die pc of hebben nog meer mensen webspace?

This message was sent on 100% recyclable electrons.


  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 21-04 16:00
Beetje weinnig info zo.
Welke modules draai je met Apache (php, Perl enz) het kan wezen dat een van je scripts dit doet.

Kijk ook eens in je acces log, misschien is dit het werk van een searchbotje oid.

  • Speedener
  • Registratie: September 2000
  • Laatst online: 09:05
BasieP schreef op 27 September 2003 @ 21:27:
kan je ook zien wat ie doet?
zijn er bepaalde processen zoals het parsen van mega grote php files, oneindige loops etc?

ben je enige gebruiker op die pc of hebben nog meer mensen webspace?
Ik heb geen idee, er zitten een paar gebruikers op.

Zou het kunnen dat het met een forum met redelijk grote database te maken heeft?
Suepahfly schreef op 27 September 2003 @ 21:28:
Beetje weinnig info zo.
Welke modules draai je met Apache (php, Perl enz) het kan wezen dat een van je scripts dit doet.

Kijk ook eens in je acces log, misschien is dit het werk van een searchbotje oid.
Eigenlijk draait apache alleen met php, en mysql als database.
Wat kan ik uit de accesslog halen dan? Daar zie ik alleen de opgevraagde pagina's

[ Voor 35% gewijzigd door Speedener op 27-09-2003 21:30 ]


  • Roelant
  • Registratie: Januari 2001
  • Niet online
Wat je zou kunnen doen is de /server-status en de /server-info eens activeren, daar is wellicht het een en ander uit af te leiden. :)

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 21-04 16:00
Speedener schreef op 27 September 2003 @ 21:29:
[...]

Ik heb geen idee, er zitten een paar gebruikers op.

Zou het kunnen dat het met een forum met redelijk grote database te maken heeft?
Als het een een of ander zelf gebakken forum met waardeloze code is wel ja.
Aan de databse zal het denk ik niet liggen, want dan zou die ook een hoge cpu usage heeben lijkt mij.
[edit]
Uit je acces log kan je halen of je belachelijk veel requests van het zelfde ip hebt. Is dat het geval dan zou het een bot/ripper kunnen zijn.

[ Voor 15% gewijzigd door Suepahfly op 27-09-2003 21:32 ]


  • Speedener
  • Registratie: September 2000
  • Laatst online: 09:05
Roelant schreef op 27 September 2003 @ 21:30:
Wat je zou kunnen doen is de /server-status en de /server-info eens activeren, daar is wellicht het een en ander uit af te leiden. :)
Tell me more plz :X
Suepahfly schreef op 27 September 2003 @ 21:31:
[...]


Als het een een of ander zelf gebakken forum met waardeloze code is wel ja.
Aan de databse zal het denk ik niet liggen, want dan zou die ook een hoge cpu usage heeben lijkt mij.
Active topics :X (http://www.activetopics.nl)

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
kijk eerst is even naar welke sites er geopend worden

iets/logs/access.log

dan kan je zien welke url het om gaat, en wat ie dan doet
desnoods pak je error.log er ook bij, hoewel daar denk ik minder in staat

zoek dan de desbetreffende pagina op, en kijk is wat die uitvoert
het is sowieso niet slim om andere mensen toegang te geven op een webserver zonder dat je eerst een groot aantal php commando's buiten gebruik steld (voor die users dan)

This message was sent on 100% recyclable electrons.


  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 21-04 16:00
ActiveTopics ken ik niet en veel info kan ik ook niet uit die site halen.


wat betreft server-status en server-info:
Zet het volgende in je httpd.conf

ExtendedStatus On

<Location /server-status>
SetHandler server-status

Order Deny,Allow
Deny from all
Allow from localhost
</Location>

<Location /server-info>
SetHandler server-info

Order Deny,Allow
Deny from all
Allow from localhost
</Location>

Deze roep je dan met 127.0.0.1/server-status en respectievelijk server-info

  • Speedener
  • Registratie: September 2000
  • Laatst online: 09:05
Dank jullie voor jullie tips, ik ga eens aan de slag ermee.

Wat raden jullie overigens aan als MaxSpareServers?

  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 21-04 16:00
Geen idee eerlijk gezegd.

Wel heb ik het volgende ff opgezocht:
The MaxSpareServers directive sets the desired maximum number of idle child server processes. An idle process is one which is not handling a request. If there are more than MaxSpareServers idle, then the parent process will kill off the excess processes.

Tuning of this parameter should only be necessary on very busy sites. Setting this parameter to a large number is almost always a bad idea.

Note that this is the maximum number of spare servers, not the maximum total number of client requests that can be handled at one time. If you wish to limit that number, see the MaxClients directive.
Pagina: 1