sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #50350
Re: Apache performance tuning
"Troels Arvin" <troels@xxxxxxxx> wrote:
>
> > Problemet er ikke performance, men for mange forbindelser - Nu har jeg
> > downloadet en src.rpm med Apache, og vil prøve at ændre den hard-kodede
> > MaxClients-grænse.
> Hvilket i sig selv er ret let.
Jeps, det gik fint - står nu på 768 i MaxClients, med en maxgrænse på 2048.
> Problemet er, hvis du fx. kører PHP og
> taler til MySQL fra PHP: I sådanne og lignende situationer kan man være
> ude for, at hver enkelt Apache proces står og holder én eller flere MySQL
> forbindelser åbne. - Og desværre er MySQL ikke særlig skalérbar: Alt går
> fint, men pludselig rammer man ude forvarsler (i form af dalende
> performance) én eller anden grænse for dens formåen, hvorefter den
> begynder at stå og tordne ned; herefter bruger man forgæves et par uger på
> at tro, at man kan tune'e sig ud af problemet ved at skrue på MySQL
> options.
Vi har fra starten benyttet mysql_pconnect for at få "persistent"
forbindelser fra php. Endvidere har vi nogle java-servletter kørende som
bare får forwarded requests fra Apache, men de benytter connection-pooling.
Det ser ud til at fungere fremragende.
> Apache+PHP+MySQL er blot én tænkelig situation, hvor hver Apache proces
> har nogle "side-effekter" i form af netværks-, IO, eller anden overhead,
> som man pludselig bliver opmærksom på, når antallet af Apache-børn bliver
> meget højt.
>
> Altså: Pas lidt på.
Du kan tro jeg holder øje med den :-) Men foreløbigt tror jeg på det, for
hverken web-server eller database-server har særligt meget load. Problemet
har udelukkende været at Apache nåede MaxClients-grænsen. Den er sat op, og
jeg har været hård ved KeepAliveTimeout.
Mvh. Lars
Follow ups
References