> Сколько в среднем выделяется памяти под процесс апача
"В среднем" сказать сложно, зависит от того, какие модули используются.
> и можно ли как-то эту величину уменьшить?
Легко. Отрубаешь неиспользуемые модули, или даже еще экстремальнее: самые
необходимые модули компилишь вместе с апачем, остальные отрубаешь.
Например, у тебя есть shtml (server-side includes, SSI)? Если да, тебе нужен mod_include, если нет - нафиг его отрубаешь.
Ну и так далее.
(Ой, что-то мне кажется, что это FAQ, ну да ладно. Повторение - мать, сами знаете чего.)
>Сколько надо ставить для переменной в httpd.conf Timeout=300
>И зачем так много и что оно говорит.
Читаем httpd.conf.default:
Timeout: The number of seconds before receives and sends time out.
Неясно? Хочется подробнее? Глядим в доки (core):
-------- cut here --------
The TimeOut directive currently defines the amount of time Apache will
wait for three things:
1. The total amount of time it takes to receive a GET request.
2. The amount of time between receipt of TCP packets on a POST or PUT
request.
3. The amount of time between ACKs on transmissions of TCP packets in
responses.
We plan on making these separately configurable at some point down the
road. The timer used to default to 1200 before 1.2, but has been
lowered to 300 which is still far more than necessary in most
situations. It is not set any lower by default because there may still
be odd places in the code where the timer is not reset when a packet
is sent.
-------- cut here --------
Типа все не так уж и трудно, достаточно глянуть в доки.
Ну во-первых есть главный демон, который форкает остальных,
во-вторых, запросы бывают разные. Один просто страничку запросит, другой скриптик какой-нибудь.
Видимо (ну это мои домыслы, я в исходниках сильно не копался) апач чего-то там у себя кэширует.
По крайней мере при старте (apachectl start) и до первого запроса
есть главный демон и есть форкнутые дети (их кол-фо см. в конфиге),
и они, дети то есть, одинакового размера.