apache + load systemu

Dalibor Straka dast na panelnet.cz
Středa Leden 19 02:09:26 CET 2005


On Tue, Jan 18, 2005 at 10:13:59PM +0100, Dušan Sýs wrote:
> Ahoj ve spolek,
> 
> mam maly hostingovy server ha kterem mi bezi apache 2.0.52, php
> 4.3.10, mysql 4.0.20, zend optimizer 2.5.7, system je udrzovay RH80 (
> uz mam pripraven debian ), jakdo 2.4.27. V posledni dobe mi na serveru
> nabiha upload az na 4.0 ( 15ti minutovy prumer ). Na serveru je 1GB

Jestli vam vybiha upload az na 4.0 (Mbit?) tak to nic moc ;-))))

> pameti, moc to neswapuje ( do 100 MB ). Apache je rozjety ve 100 - 150
 
dejte si max spare servers a podobne na nizsi hodnotu.  
MinSpareServers
MaxSpareServers
MaxClients
MaxRequestsPerChild
KeepAliveTimeout
MaxKeepAliveRequests

Vysoky load vubec nevadi, dulezitejsi je cpu user/system/idle.
Prostudujte podrobne. Aby se server nezdrzoval forkovanim, je treba mit
rovnou vic cekajicich serveru, ale zase ne moc aby nebyl vysoky load 
a ztrata pameti atd. ;o)

> procesech ( proc  ? )a obas se mi tam objevil nejaky zobik a musel
> jsem rebootovat. Zombici byly na apache2.0.48, po uprade na 2.0.52 se
> to zda OK, ale jeste to nebezi tak dlouho, aby jsem to mohl potvrdit
> na 100%. Traffic jede ve spice 4Mbit odchoziho provozu, takze nic moc,
> otvrenych souboru je zhruba kolem 40k-80k. Pro kazdy virtual se dela
> samostatny log.
> 
> Jde mi o  to, jak zjistim, ktery virtual mi nejvice vytezuje apache,
> aby jsem mohl pripadne zashnout do kofigurace a vystopovat vinika.
> 

To se dela blbe. Na serveru jsme mely stranky (php od matlaku), ktere
dokazaly shodit apache. Vystopovat je byl nadlidsky ukol. Proste ty
stranky se zacyklyli a bezeli treba dva dny, pozraly celou pamet a 
starej oomkiller vodstrelil apache kdyz si pozadal o dalsi malloc().

Velmi mi pomohlo ExtendedStatus on, a pak hledat v www.server.cz/status.
Je treba (aby tam necumel kazdej) jeste trosku priostrit:
<location /status>
set handler server-status
<limit GET>
order deny,allow #v tomto poradi
deny from all
allow from muj.segmet.cz
</limit>
</location>

mozna jeste
<location /server-info>
set handler server-info
.
.
. totez ;)
mozna se tam ani nemusi psat ten get, ale jenom rovnou
order deny,alow
deny from all
allow form odeme.z.domova.cz
</loc>


> Diky za kazdou radu.
> 
Tech bylo ;-)

-- Dalibor Straka


Další informace o konferenci Linux