Уже долгое время с VPS, которую арендую, творится что-то непонятное.
VPS относительно мощная, крутится на ней несколько блогов на Wordpress. Настроено везде жёсткое кеширование, что даже простой шаред хостинг должен потянуть сайты.
Но вот какая проблема - раз в день VDS становится недоступным. На вопрос в поддержку в чём дело, отвечают тем, что на VDS каждый раз появляется два процесса php, которые перегружают два ядра, в связи с чем всё и виснет.
На мою просьбу помочь отследить что это за скрипты запускаются, чтобы тем самым устранить проблему с зависанием, сапорт хостинга говорит, что помочь не могут, они не программисты.
Как быть? Как отследить что конкретно грузит VDS, чтобы удалить нафиг эти скрипты. Хостинг хороший, менять не хотелось бы.
Вангую, у кого-то в это время делается бэкап, который убивает дисковую на всем сервере и соответственно все виртуалки тупят, включая вашу, не факт что этот скрипт именно у вас, связывайтесь с ТП хостера, обрисуйте проблему, пусть вычислят на стороне сервера, если отмазываются - просите перевести тикет на более компетентных спецов или меняйте хостинг.
В таком случае после бекапа всё же должно работать. Да и хостер говорит, что эти два процесса php чуть ли не сразу после ребута начинают понемногу сжирать ресурсы.
С ТП уже общаюсь несколько месяцев с этой проблемой. Говорят, что они не программисты, чтобы найти что за скрипты начинают работать, что аж сайты недоступны.
По поводу переезда думал, но ведь нужно решить саму проблему. Она и на другом хостинге будет ведь.
Проблема происходит в одно и тоже время или в разные? Для начала включите статистику на веб сервере, чтоб видеть что именно в это время выполняется. Если апач, то делается так sys.dmitrow.com/node/220 , если nginx, то так www.nginxtips.com/nginx-status-page
#!/bin/bash
dt=`date +%H:%M`
la=`uptime | awk '{print $10}' | sed 's/\..*//'`
email='ваш_емейл'
host=`hostname`
if [ $la -gt 15 ]
then
p=`ps aux | sort -k 3 -nr | head -30`
mail -s "LA is $la at $host" "$email" << END_MAIL
Seems, $host have LA $la detected at $dt
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
$p
END_MAIL
exit 2
else
exit 0
fi
И ставил его на крон с высоким приоритетом:
* * * * * nice -10 /root/check_la
В результате в случае превышения LA значения 15 попугаев Вам на почту прилетит раскладка ps, в которой будет видно что грузит/грузило систему.