On Thu, 31 Jan 2002, Igor Sysoev wrote:
> On Thu, 31 Jan 2002, Strange Alex wrote:
>
> > Здравствуйте
> >
> > Жил да был WEB-сервер (Server Version: Apache/1.3.12 (Unix) PHP/4.0.6
> > PHP/3.0.18 mod_ssl/2.6.6 OpenSSL/0.9.5a rus/PL29.7) под FreeBSD
> > (периодически до -STABLE доводится, сейчас вот уже 4.5) на 2xPiii-500,
> > 1G ram. Уже несколько лет жил, и причем неплохо жил. Крутятся там
> > несколько проектов, в основном на php + mysql (3.23.42, тоже иногда
> > обновляется). Подключен хоть и к хорошему каналу, но через 10Мбитный
> > сосок, причем на сегменте еще штук 5 машинок сидят.
> >
> > И вот некоторые ресурсы стали приобретать кое-какую популярность,
> > пошла вроде как нагрузка. Причем стандартная нагрузка то вроде как не
> > сильная, все живет, даже можно сказать "летает". mysql processlist ~100
> > штук показывает. Процессов около 100 спят. нагрузка 0.87 (при том что
> > у двухпроцессорной тачки 100% = 2.00) Память есть свободная, в свопе -
> > копейки. Но вот в последнее время стали происходить "затыки". Вначале
> > реденько, а сейчас раза 3-4 в неделю, причем запросто может 2 раза в
> > день произойти.
> >
> > Например живет там чат (не рефрешевый, а такой который постоянно
> > что-то шлет, и соответственно демона поднятого держит. Но много народу
> > не бывает - обычно человек 30-50). Сидишь, значит, болтаешь и тут
> > дынсь! Стопор. Лезешь на остальные ресурсы - тишина... молчание...
> > Пинг ходит прекрасно. ssh -C хоть и с трудом, но пробивается. Но как
> > зашел - тормоза ! По букве в минуту успеваешь набрать. Смотрю топ:
> > 1мин average под 10, хотя 15минутный еще чистенький.
> > Висят 600 процессов, штук 50 зомбей, в свопе 200 метров лежит (хотя и
> > свободная память есть). mysql processlist около 600 строк кажет,
> > многие в lock state. Труба короче полная. Приходится делать:
> > # apachectl stop; apachectl start_off; # последний говорит ЖДИТЕ! :)
> > # mysqladmin shutdown; /usr/local/etc/rc.d/mysql-server.start
> > при загрузке mysqlя базы на всякий случай чекаются myisamcheck
> > # apachectl stop; apachectl startssl
> > и все опять здорово и замечательно до поры до времени...
> >
> > предполагаю что дело в локах и пконнектах, но почему тогда это не
> > постоянно так ? ЧТо делать, ума не париложу. Увеличение мощьности
> > компутера, думаю проблему не решит, ибо в принципе ее хватает.
>
> > --------------------------------
> > # top (через 5 часов после последнего затыка:)
> > last pid: 76031; load averages: 0.84, 0.87, 0.95 up 1+03:14:07
>22:14:02
> > 124 processes: 5 running, 118 sleeping, 1 zombie
>
> > CPU states: 44.5% user, 0.0% nice, 28.1% system, 0.2% interrupt, 27.1%
>idle
> > Mem: 283M Active, 512M Inact, 171M Wired, 35M Cache, 112M Buf, 3428K Free
>
> > Swap: 2048M Total, 43M Used, 2005M Free, 2% Inuse
>
> >
>
> > PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU CPU
>COMMAND
> > 84905 mysql 49 0 466M 56288K CPU0 0 116:34 35.60% 35.60%
>mysqld
> > 231 root 4 0 3660K 2260K bpf 1 97:37 8.84% 8.84% trafd
>
> > 75926 root 28 0 2072K 1140K CPU1 0 0:01 2.39% 1.37% top
>
> > 70630 apache 2 0 19592K 12944K sbwait 1 0:11 1.22% 1.22% httpd
>
> > 64611 apache 2 0 19936K 13308K sbwait 1 0:20 0.93% 0.93% httpd
>
>
> Есть подозрение, что 500 таких апачей + mysqld эта тачка (1G) не тянет
> и случается обычный свопинг.
>
> Апачи большие 19M. Если из 283M (active) вычесть 56M (mysqld), то получим
> 227M. Если в данный момент крутится около 50 апачей и других пожирателей
> памяти нет, то каждый апач приходит около 4M. 500 апачей займут 1G.
Опечатка. Следует читать:
то на каждый апач приходится около 4M. 500 апачей займут 2G.
> Предлагается уменьшить число апачей хотя бы до 100. Тогда хотя бы тачка
> не будет свопиться.
>
> Игорь Сысоев
>
>
>
> =============================================================================
> = Apache-Talk@lists.lexa.ru mailing list =
> Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
> = Archive avaliable at http://www.lexa.ru/apache-talk =
>
>
Игорь Сысоев
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =