← Back to team overview

sslug-teknik team mailing list archive

Re: Råd vedrørende optimering af Linux-server.

 

On Wed, 2002-10-16 at 10:54, Peter Makholm wrote:
> Jeg har brug for nogle gode råd og lidt moralsk opbakning til at
> optimerer vores webserver.
> 
> Maskinen har nogenlunde følgende specifikationer:
> 
>   IBM x230
>   Dual 1 Ghz - Pentium III
>   4 GB RAM
> 
>   Vanilla Linux 2.4.18
>   Debian Stable
> 
> 
> I øjeblikket får den bare lov til at spawne apache-processer og vi
> oplever et load på omkring 150. Nogle gange er der en apache-process
> eller to der bruger 20% CPU, men ellers deles de pænt om
> processerkrafterne ifølge top. (2-4% per process alt efter
> antallet). top melder også om cirka 92% user og 8% system.
> 
> Vores webserver bruger Apache og mod_perl og har en mysql-server
> kørende på en anden maskine med omtrendt samme
> dimensioner. Databaseserveren står egentlig bare og keder sig.
> 
> Hvordan mon jeg får maskinen til at yde mere reelt arbejde.
> 
>  - Sætte nogle letvægts Apache-processer foran mod_perl-processerne
>    som giver content fra en cache.
> 
> (Vil dette hjælpe stort, når der egentlig er rigeligt ram?)
> 
>  - Begrænse antallet af processer.
> 
>  - Anvende O(1)-scheduleringspatchen
> 
>  - Preemptive-patchen?
> 
> Andre ideer, som ikke kræver at lave vores content-system om?
> 

Bare lige for at være sikker: Er svartiderne til klienterne dårlige? Jeg
ville tro at svartiden er elendig med load 150, men det er ikke
nødvendigvis sådan.

Som jeg læser din beskrivelse er CPU flaskehalsen, da din CPU-procenter
giver 100%. Så der er basalt set to muligheder:
1) Køb flere eller stærkere CPUer
2) Gør arbejdet med færre instruktioner.

Hvis ellers jeg forstår det rigtigt så arbejder dine processorer med
noget fornuftigt 92% af tiden - de sidste 8% overhead er det nok ikke
værd at gå efter vha. kernepatches. Tricket med sætte en let server
foran er først og fremmest for at spare RAM, men hvis du sætter en
tredje maskine op til opgaven, vil du givetvis også spare lidt CPU.

Alt i alt vil jeg råde dig til at finde ud af hvilken del af koden der
er langsom og så forbedre denne. 

Venlig hilsen
  Anders

-- 
Anders Nielsen <anielsen@xxxxxxx>



References