Извиняюсь, теперь работает без ошибок. Но сейчас в свопе ничего нет, перезапустил mysqld.
Выставил key_buffer_size в 4ГБ (-2ГБ, т.к. если и свопило, то до 2ГБ в основном), а также закомментировал max_heap_table_size = 256M и tmp_table_size = 256M (хотя сам не знаю зачем). Отключил лог медленных запросов. Еще уменьшил в httpd maxrequestperchild, было 10240, сейчас 250 - в итоге график в munin стал нормальным, может память именно в связке с eaccelerator утекает непонятно куда, и раньше оно долго держало процесс открытым, а сейчас его быстро закрывает по этому лимиту.
График прикрепил.
Конфиг апача тоже прикрепил. Сейчас в среднем больше 200 free slots, а еще idle slots.
Сейчас 19ГБ cached, как раз если будет все держаться в кеше и не будет лезть в swap - будет все нормально. Сейчас la 1-1,5 - давно я такого не видел.
Да, тут как-то не подумал. Ну тогда даже не знаю, на что грешить.
Ну узнать хоть надо, по идеи уже должны на руки отдать. Но когда я там был мне сказали, что скорее всего будут задержки из-за наплыва и лучше звонить.
Неправильно выразился, конечно покупать надо и врядли за 15грн. Только ее ж скрепить должны, а так - это не документ, а просто кучка бумаги:)
Swap usage[kB] Process[PID]
============================
find: missing argument to `-printf'
./proc_swap.sh: line 22: fg: no job control
Overall swap used: 0 kB
Что-то я вообще не понял, в той строке выводится только "=======".
Прошу также подсказать по nginx - ссылка. Тестировал siege на разные урлы, все http ответы 200 ok. Возможно, это блокируются плохие айпишники - стоит csf и в нем включено получение и фильтрация IP по feeds.dshield.org/block.txt, spamhaus.org/drop/drop.lasso и cymru.com/Documents/bogon-bn-agg.txt.
И еще такой вопрос есть, у меня временные файлы mysql создаются в tmpfs /dev/shm. Соответственно, строчки max_heap_table_size = 256M и tmp_table_size = 256M можно вообще убрать?
Завтра думаю звонить инспектору, узнавать что там с продлением ЕН. А книги нет, наверное ее дадут с новым свидетельством (вообще не знаю, ну по идеи так должно быть). Так что доходы пока заносить просто некуда:)
netwind,
ну по идеи кеш акселератора не может быть вытеснен - к нему же постоянно должны идти обращения. Также установлен shm_ttl и shm_prune_period и еще tmpwatch есть, тоже чистит.
Почему решил использовать tmpfs, нашел статьи где рекомендуют все такое (php сессии, временные файлы mysql, кеши php акселератора) засунуть именно туда. Насчет mysql-slow, решил его сюда положить, чтобы уменьшить нагрузку на hdd, хотя думаю его вообще выключить (также в /dev/null отправляю логи exim, с недавнего времени отключил логи httpd).
Почему не сделал через shm - апач не стартует, если вписать shm_size более 1024МБ (1ГБ очень быстро заполнялся и я думал, что надо гораздо больше). Но сейчас стоит 4096МБ, хотя используется где-то до 1,5ГБ.
По поводу кешей, Вы уже советовали уменьшить key_buffer_size, может еще что-то уменьшу в my.cnf - попробовать можно, а там видно будет. Ну это уже ночью или завтра, т.к. бекап еще идет.
myhand,
Из-под рута есть доступ во все эти smaps, и скрипт запускаю также из-под рута.
Centos 5, отрабатывает без ошибок, показывает "Overall swap used: 0"
Сейчас swap чистил, потихоньку наполняется, всего 180МБ. Попробую как будет 1ГБ например, но по идеи и сейчас должно показывать, какой процесс и сколько занимает места в swap.---------- Добавлено 22.01.2012 в 23:11 ----------Уже больше 1ГБ, все равно ничего не показывает.. наверное не работает:(---------- Добавлено 22.01.2012 в 23:18 ----------А подскажите еще плиз по нгинксу, в логах полно вот таких записей. По идеи нехватки соединений просто не может быть.
2012/01/23 00:50:38 [error] 2818#0: *28928 connect() failed (111: Connection refused) while connecting to upstream, client: ххх.125.ххх.139, server: , request: "GET / HTTP/1.0", upstream: "http://ххх.73.ххх.42:80/", host: "site.ru", referrer: "http://site.ru/"
Про eaccelerator и tmpfs под него писал в 1м сообщении, вроде телепатия тут не нужна:)
Nice и ionice уже уровнял, поигрался с конфигами апача и нгинкса. Также обратно включил своп, без него вроде проблем никаких не было, ну а как включил - 2,5ГБ сгрузило в своп, сервер немного потупил и сейчас все нормально.
Кеш eaccelerator идет на tmpfs /var/tmp и там же mysql-slow.log и выделено всего 6ГБ, из которых используется не более 30%. По идеи, эти данные занимать более 2ГБ в озу просто не могут.
По поводу рестарта апача, 16ГБ cached до рестарта и 14,5ГБ после, команда service httpd restart.
Ясно, ну как бекап закончится - тогда попробую поиграться с настройками, т.к. iowait сейчас итак большой, а рестарт мускула точно добьет.
Поставил нгинкс, апач и мускул в высокоприоритетные приложения, график не меняется - юзер 20%, найс 180%. Правда в стандарте у spri кронзадание раз в 45минут (если не ошибаюсь), я поставил раз в 2 минуты - но не думаю, что это важно - т.к. он все равно просто чекает все процессы и почти всегда old и new priority равны. А вот когда бекапинг начинает делаться 45 минут слишком большой отрезок времени.
Тут сразу не понял. Ну а если уменьшить, не получится ли так, что индексы малонагруженных баз попадут в кеш, а индексы нагруженных баз - останутся вообще без кеша?
Ну не для всех, но он делается и для httpd, nginx, mysql (так в статье вычитал, та и в начальных конфигах spri также - апач имеет высокий приоритет, мускул - средний). Для cp, rm, tar, gzip, rsync и ряда других nice 19 и ionice 7, для httpd и nginx - 2 и 1, для mysql - 7 и 4.---------- Добавлено 22.01.2012 в 16:34 ----------Сейчас вообще отключил своп, вроде памяти всем хватает. Вообще способ наверное варварский, но вроде все нормально. Сейчас и бекап идет, но работает как должно - когда остается свободной памяти меньше 200МБ, сгружает часть кеша и свободной становится около 500МБ.