На двухпроцессорной машине при использовании libc_r mysql
работает только на одном процессоре, поэтому при зацикливании
top может показать idle 50%. Два mysql'я забирают оба процесора.
Да нет, с MySQL мне все понятно, загрузка плавно росла в течение года и
я все это время наблюдал, как MySQL сперва грузит 10%, потом 20% и в
итоге ~100% с полным залипанием время от времени, которое иначе как kill
-9 это не лечилось. Но все это время, и при 10%, и при 20%, и при 100%
squid был далеко позади. Там, где ему и положено быть. Я под линукс
аналогичную конструкцию поднимал - все было ровно то же самое. Прокси
отродясь узким местом не был. И не должен был быть. Вот я вчера смотрел,
сейчас смотрю - абсолютно все продолжается в том же духе:
load averages: 2.12, 1.52, 0.99
108 processes: 98 sleeping, 8 zombie, 2 on cpu
CPU states: 52.0% idle, 30.6% user, 17.4% kernel, 0.0% iowait, 0.0%
swap
Memory: 2047M real, 1089M free, 1326M swap in use, 6239M swap free
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
411 nobody 1 0 0 8204K 7460K cpu/1 3:28 24.61% nginx
1212 mysql 26 59 0 534M 240M sleep 3:05 12.12% mysqld
413 nobody 1 59 0 9844K 8984K sleep 3:39 5.96% nginx
1105 nobody 1 39 0 43M 30M sleep 0:09 0.75% httpd
1103 nobody 1 59 0 44M 32M sleep 0:09 0.73% httpd
1110 nobody 1 59 0 42M 29M sleep 0:09 0.63% httpd
1094 nobody 1 39 0 41M 28M sleep 0:08 0.57% httpd
1111 nobody 1 59 0 43M 31M sleep 0:10 0.52% httpd
Что-то неладно в датском королевстве. На совесть nginx я отношу 17.4%
kernel. У меня в конфиге ему отдано весьма прилично памяти мелкой
нарезкой под проксирование, может, его от этого плющит. Я гадать только
могу, впрочем.