У mysql на FreeBSD, собранного с трэдовой библиотекой libc_r,
есть такая проблема - иногда он начинает есть весь процессор,
независимо от нагрузки. Я по крайней мере наблюдал такое
неоднократно на FreeBSD 4.x. Обычно это решается посылкой ему
сигнала -HUP, но этого хватает не надолго, лучше рестарт. Так
что, распределение процессора mysql/squid, скорее всего, было
связано именно с этим.
У меня mysql собирался с умалчиваемыми тредами FreeBSD-шными, под 5.1 я
его гонял и под 5.2. Я глюк с загрузкой 100% наблюдал, но он возникал
изредка, только при двух параллельных мускулах и дело в данном случае не
в нем, я уверен. Можно, конечно, предположить, что размер кэша
процессоров столь драматически повлиял на производительность моего
бэкэнда - тра-ла-ла... Но че-та сомнительно. Загрузка от мускула упала,
это очевидно, но загрузка от прокси возрасла. Как жрал прокси свои
проценты, точнее, так и жрет, у всех % упал, а у прокси - нет, даже
малость вырос.
Ладно, погляжу под нагрузкой, сравню со сквидом - расскажу. Че-та трудно
мне поверить, что прокси может давать загрузку больше, чем бэкэнд. Че-та
тут неладно. Осталось понять, что.
Во FreeBSD 5.1 и 5.2 трэды по умолчанию - это libc_r.
Но в любом случае в Солярисе трэды гораздо лучше отлажены, чем
FreeBSD'шные libc_r, libpthread или libthr.
Игорь Сысоев
http://sysoev.ru