посоветуйте настройки

Volkov Oleg nginx at teratelecom.ru
Sat Jun 13 17:28:46 MSD 2009


В Сбт, 13/06/2009 в 19:18 +0700, Igor V. Fatkulin пишет:
> Hello Volkov,
> 
> Saturday, June 13, 2009, 5:34:58 PM, you wrote:
> 
> VO> В Сбт, 13/06/2009 в 13:13 +0700, Igor V. Fatkulin пишет:
> >> Доброго дня.
> >> 
> >> Мучаюсь с баннерной системой на FreeBSD6.4 i386.
> >> Используется связка:
> >> 1. на одном сервере nginx+apache, под апачем стартует cgi,
> >> выпрашивающее у mysql номер баннера, который надо показать, сами
> >> картинки отдаются nginx напрямую.
> >> 
> >> 2. БД живет на другом сервере и периодически там накапливается куча
> >> запросов в статусе Sending data, такое ощущение, что web-fronend тупо
> >> не забирает данные.
> >> 
> >> В логах messages веба есть и такие записи:
> >>   kernel: Limiting closed port RST response from 231 to 200 packets/sec
> >> и такие:
> >>   kernel: collecting pv entries -- suggest increasing PMAP_SHPGPERPROC
> >> 
> >> Посоветуйте плз как оттюнить.
> >> 
> >> Логи-настройки какие надо предоставлю. Сама система на 99.9999%
> >> занимается отдачей картинок, LA <11 не бывает, а то и под 70
> >> подскакивает. Периодически сайты перестают отвечать вообще, в этот
> >> момент idle=~99% и количество процессов апача равно лимиту. По фтп и
> >> ссх доступно все, пинги идут нормальные. Дисковая система не загружена
> >> вообще никогда.
> >> 
> >> Переделать с CGI возможности нет, есть возможность только поменять
> >> железо с 2xXEON (old) на новый младший 4хядерник.
> 
> VO> Наверное скажу банальность, но у меня стойкое ощущение, что проблема в
> VO> общении cgi скрипта с БД. Возможны варианты
> VO> 1. БД тормозит с ответами на запросы - это к специалистам по БД.
> VO> Посмотрите что за запрос и попробуйте в моменты заклинивания дать
> VO> подобный с консоли БД. Тогда все станет ясно.
> 
> бд некоторое время после рестарта справляется с нагрузкой, но с
> какого-то момента в ней повисает куча запросов со статусом sending
> data. потому и заподозрил, что фронтенд может не успевать забирать
> запрошенные данные

Логично. Кстати рекомендую (вам тут это уже советовали) уменьшить
количество копий апача, у вас БД все равно 500 одновременных запросов не
вытянет. Посмотрите сколько копий апача хотя-бы в 2 раза. 

Попробуйте вот такие настройки апача:

StartServers		25
MinSpareServers		25
MaxSpareServers		50
MaxClients 		250
MaxRequestsPerChild 	1000

Сколько оперативы? Если мало, то рост копий апача может весьма негативно
сказываться. Посмотреть, в свап ничего не попадает?

> VO> 2. Проблемы со стыком апач-БД. Посмотреть, используется ли пконнект (у
> VO> него есть и плюсы и минусы), нет ли потерь между машинами на обычных и
> VO> _больших_ пакетах.
> 
> VO> Какой idle пока все не заклинило? если тоже порядка 90% то машина не
> VO> причем (это не нехватка процессора).

Так как ведет себя загрузка проца?

> VO> Я не знаю специфику вашего cgi скрипта и общую постановку задачи, но
> VO> очень плохо что его нельзя исправлять. Скорее всего, если выполнить его
> VO> оптимизацию - можно увеличить производительность всей системы не меняя
> VO> железо.
> 
> увы( досталось в наследство, приходится саппортить

Что, скрипт скомпилен в исполняемый файл и исходников нет?
Перепешите с нуля.

-- 
С уважением,
Волков Олег







More information about the nginx-ru mailing list