Ключевые слова:apache, limit, dos, memory, process, (найти похожие документы)
Date: Mon, 21 Feb 2005 13:33:16 +0500
From: Igor Sysoev <http://sysoev.ru>
Newsgroups: ftn.ru.unix.bsd
Subject: Расчет занчения MaxClients в Apache
> Всё же как правильно рассчитать значение MaxClients у апача?
> Совет, приведенный в "Performance Notes"
> ====
> control the MaxClients setting so that
> your server does not spawn so many children it starts swapping. The
> procedure for doing this is simple: determine the size of your average
> Apache process, by looking at your process list via a tool such as
> top, and divide this into your total available memory, leaving some
> room for other processes.
> ====
>
> явно не годится, потому что
>
> а) непонятно, следует смотреть колонку SIZE или RES для определения
> среднего размера апача и
>
> б) по всей видимости, код как-то шарится, потому что в реальности
> может быть значительно больше одновременных копий httpd, чем
> получается по данной формуле, и при этом даже будет свободная память.
Я обычно делаю так. Если машина выделяется под Апач, то берём top.
last pid: 31023; load averages: 0.81, 0.71, 0.60 up 5+20:44:24 13:26:21
52 processes: 1 running, 51 sleeping
CPU states: 24.1% user, 0.0% nice, 10.5% system, 3.5% interrupt, 61.9% idle
Mem: 48M Active, 644M Inact, 193M Wired, 27M Cache, 111M Buf, 85M Free
Swap: 1096M Total, 120K Used, 1096M Free
Смотрим, сколько запущено httpd. В данном случае - 32. Делим Active на 32,
получается ~1.5M на один процесс. Берём (Inact+Free) и делим на 1.5,
получается 486. То есть, примерно 500 апачей.