Всем привет!
Такая шляпа у меня с апачем -
Он работает как backend, раздает генерированные php страницы.
В качестве frontend используется lighttpd - раздает картинки и объемные видео-файлы.Apache ловит запросы на картинки при помощи mod_rewrite и просит lighttpd выдать картинки и видео.
Но получается так, что видно между ними плохая коммниукация - Apache подвисает и сайт начинает очень долго ждать перед тем, как что-то выдать.В логе нашел море строчек типа
[warn] child process 20009 still did not exit, sending a SIGTERMЯ так понял, что дочерний процесс (тот который передал управление lighttpd) не может выйти, после завершения работы. После чего таких процессов накапливается море и сервер начинает тормозить.
Можно ли сделать так, чтобы процессы убивались во время?
И еще - Вам не кажется, что каждая дочка пача слишком много памяти ест?
29332 www 1 97 0 18240K 6576K select 0:00 1.35% httpd
28899 www 1 97 0 17648K 6076K select 0:00 1.32% httpd
29030 www 1 4 0 22984K 0K sbwait 0:00 0.70% <httpd>
29183 www 1 97 0 18216K 6940K select 0:00 0.56% httpd
29277 www 1 97 0 19700K 352K select 0:00 0.51% httpd
28957 www 1 -8 0 18236K 6708K biord 0:00 0.44% httpd
29129 www 1 4 0 18648K 6948K sbwait 0:00 0.22% httpd
29270 www 1 4 0 18168K 6788K sbwait 0:00 0.09% httpd
40498 www 1 4 0 3976K 1520K kqread 0:06 0.00% lighttpd
28898 www 1 96 0 16712K 8K select 0:01 0.00% httpd
28974 www 1 96 0 29404K 0K select 0:01 0.00% <httpd>
29164 www 1 -4 0 29096K 18356K ufs 0:01 0.00% httpd
28820 www 1 96 0 28564K 0K select 0:01 0.00% <httpd>
29026 www 1 96 0 29380K 0K select 0:01 0.00% <httpd>
28752 www 1 96 0 29384K 0K select 0:01 0.00% <httpd>
40496 www 1 4 0 3484K 936K kqread 0:01 0.00% lighttpd
28840 www 1 96 0 28560K 0K select 0:01 0.00% <httpd>
28666 www 1 96 0 16712K 364K select 0:01 0.00% httpd
28777 www 1 96 0 28584K 0K select 0:01 0.00% <httpd>
28983 www 1 96 0 29068K 424K select 0:01 0.00% httpd
28912 www 1 96 0 16704K 6256K select 0:01 0.00% httpd
29150 www 1 96 0 19756K 0K select 0:01 0.00% <httpd>
29071 www 1 96 0 28556K 0K select 0:01 0.00% <httpd>
29014 www 1 96 0 28556K 0K select 0:01 0.00% <httpd>
28948 www 1 96 0 18232K 0K select 0:01 0.00% <httpd>
28793 www 1 96 0 28556K 424K select 0:01 0.00% httpd
28886 www 1 96 0 29028K 0K select 0:01 0.00% <httpd>
29035 www 1 96 0 18200K 0K select 0:01 0.00% <httpd>
28946 www 1 -4 0 17392K 456K ufs 0:01 0.00% httpd
28986 www 1 96 0 18208K 8128K select 0:01 0.00% httpd
хмм.. обычно статику отдают nginx'ом, а динамику либо апачем, либо чем то другим, тем же lighttpd. При этом обычно убирают апач.. :) т.е. схема, имхо, у вас вроде не оптимальная.
Читал статью на этом же сайте, как здорово работают Apache+Lighttpd =)
Скажите, апач ведь должен есть не больше 2-3Мб на каждый процесс, ведь так?
От чего это зависит?
Я отключил почти все модули, в которых не было необходимости, до минимума свел расход памяти мускулом, но все равно 30Мб где-то один процесс.