optimére apache på FreeBSD 5.x

From: Claus Guttesen (none@cguttesen--yahoo.dk.lh.bsd-dk.dk)
Date: Fri 27 Aug 2004 - 10:47:50 CEST


Date: Fri, 27 Aug 2004 10:47:50 +0200 (CEST)
From: Claus Guttesen <none@cguttesen--yahoo.dk.lh.bsd-dk.dk>
Subject: optimére apache på FreeBSD 5.x
To: bsd-dk@bsd-dk.dk

Hej.

Vores webservere stangede i taget mht. CPU-forbrug og
load, en 'netstat -n' viste mange opkoblinger i
TIME_WAIT. Så jeg tog mig den frihed at søge lidt på
internettet, for at se, hvad man kunne gøre.

Jeg lagde dette i /etc/sysctl.conf:

kern.ipc.somaxconn=2048
kern.maxfiles=65536

kern.ipc.somaxconn er standard 128, hvilket kan være i
underkanten. Under normal last vil denne parameter
ikke ændre så meget, men den kan være god at have,
hvis der er mange opkoblinger, og hvor nogle ikke
kobles korrekt ned igen. Eller det kan afbøde det
noget, hvis der er DOS-forsøg.

kern.maxfiles, tjaa, så længe der ikke er meldinger i
loggen som indikérer at der ikke er plads til at åbne
flere filer, er dette ikke strengt nødvendigt.

Så øgede jeg pakkestørrelsen (read- og write-size) i
NFS fra 16384 til 32768.

Jeg gik for et par dage siden over til FreeBSD 5.3
beta1, som gjorde det muligt at øge pakkestørrelsen. I
5.2.1 fik jeg tit en 'server not responding', hvis den
var på 32768.

Det som nok har givet den største forskel er at
optimére apache fra de normale -O2 til -O6. Det er
make-parameteren WITH_APACHE_PERF_TUNING som justérer
dette.

Det er lidt svært at vurdére om 5.3 beta1 er hurtigere
end 5.2.1, men bl.a. ip-version-4-stakken er i stand
til at udnytte to CPU'er bedre end 5.2.1, så her er
der lidt at hente. Kræver dog at parameteren
debug.mpsafenet="1" lægges ind i /boot/device.hints +
en genstart.

httpd.conf har 'KeepAlive Off'. Kernen er oversat med

options ACCEPT_FILTER_DATA
options ACCEPT_FILTER_HTTP

Claus

Yahoo! Mail (http://dk.mail.yahoo.com) - Gratis: 6 MB lagerplads, spamfilter og virusscan



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:42 CET