Следуя вашему совету поставил atop и добавил из этой статьи habrahabr.ru/post/114082 htop
И перед очередным зависанием сервера нагрузка на VIRT в mysql зашкаливала и показывала 10Gb
Скорее всего дело в настройке mysql и запросах к базе
Спасибо, хороший скрипт!
Вроде как проблема решена.
Найдена ошибка в коде. Делался запрос в базу всех записей, включая текстовые поля. Вытягивалось всё и сравнивалось. Вроде как запрос оптимизирован. Это он забирал всю memory и глушил mysql
Буду мониторить.
Всем Спасибо за Полезные советы!
1. каков cpu usage в момент лежания? интересует полностью строка %Cpu(s): из вывода top.
2. интересует состояние все процессов nginx в момент валяния, можно получить с 'ps aux |grep nginx'
3. смотрели в nginx/error_log и /var/log/messages на предмет криминала?
cpu usage в момент лежания 0.20-0.18 иногда меньше до 0.8-0.3
лог nginx чист как слеза )
единственно я ниже написал, что php-fpm жалуется
WARNING: server reached pm.max_children settings (9) consider raising it
увеличил до 30-ти
Спасибо за совет! Сегодня буду мониторить и ждать время X чтобы заняться анализом
Была схожая проблема. Ложиться весь сервер целиком либо LAMP? У меня проблема с выделением памяти под Мускульные запросы. php-fpm создавал кучу инстансов и почему-то имеет больший приоритет у диспетчера памяти. Уменьшь
pm.start_servers = 2
pm.min_spare_servers = 3
pm.max_spare_servers = 3
pm.max_children = 5
посмотри что будет
В мускуле какой движок? Если Иннодб, то можно попробовать уменьшить размер буфера innodb_buffer_pool_size. Сейчас какой стоит?
# Semisynchronous Replication
# dev.mysql.com/doc/refman/5.5/en/replication-semisy...
# uncomment next line on MASTER
;plugin-load=rpl_semi_sync_master=semisync_master.so
# uncomment next line on SLAVE
;plugin-load=rpl_semi_sync_slave=semisync_slave.so
# Others options for Semisynchronous Replication
;rpl_semi_sync_master_enabled=1
;rpl_semi_sync_master_timeout=10
;rpl_semi_sync_slave_enabled=1
если выяснится что дело в нехватке "чилдренов", то следует копать глубже и искать причину почему их недостаточно. Из возможных причин:
- долгие коннекты (искать что тормозит, сам php или запросы в базе)
- может тупо большой трафик пришел к вам.