KeepAlive вешают apache

DR
На сайте с 30.05.2009
Offline
13
769

Есть VPS c Ubuntu и 350 МБ на котором крутится несколько сайтов с посещаемостью около 200-250 хостов в сутки и 600-800 просмотров.

Апач работает в режиме prefork, включен KeepAlive, при этом KeepAliveTimeout выставлен на 5 секунд. Дело в том, что со временем хосты начинают умирать с ошибкой HTTP 500. Команда TOP при этом показывает что в памяти висит около 20 процессов. Иногда часть процессов через секунд 20 начинает умирать и страницы начинают загружаться, а иногда процессы виснут надолго и приходится рестартовать апач (при этом его рестарт длится секунд 15-20).

В логах апача при этом появляются записи Cannot allocate memory: fork: Unable to fork new process. В логах виртуальных хостов - PHP Fatal error: Out of memory (php memory_limit установлен по дефолту в 128 Мб). Но в те моменты когда апач повисает остается свободная память около 100 Мб!

Если апачу отключить KeepAlive то он начинает работать нормально.

В чем может быть проблема и куда копать?

temmokan
На сайте с 18.08.2008
Offline
131
#1
Dimon-RUS66:
Есть VPS c Ubuntu и 350 МБ на котором крутится несколько сайтов с посещаемостью около 200-250 хостов в сутки и 600-800 просмотров.

Может, здешние советы подойдут - Low memory MySql / Apache configuration ?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий