Вход на сайт
Виртуальный сервер (debian)
403
05.10.09 12:12
В общем есть одна небольшая проблема, не могу найти причину.
Следующая ситуация.
Имеется виртуальный сервер на базе debian-а. (Linux 2.6.18-028stab060.2)
Железо: GenuineIntel, Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz
Судя по выделенному размеру памяти, на одной физической машине сидят 5 вирутальных.
Вирутализация: Virtuozzo
еще на сервере подвешан Plesk 9.2.2
На сервере работают стандартные для веб-сервера процессы.
Проблема следующая:
Все (веб-страницы) работает отлично, все быстро грузится, но в определенные моменты начинаются зависания и ничего не грузится. Проходит какое-то время и снова все "летает".
Что интересно в такие момент load average падает практически до 0, то есть происходит своего рода одновременная блокировка всех процессов.
Пинг и трейсеровка в этот момент проходят без проблем.
Чисто по ощущение, получается, что у виртуального сервера забирается процессор.
В какую сторону копать?
Следующая ситуация.
Имеется виртуальный сервер на базе debian-а. (Linux 2.6.18-028stab060.2)
Железо: GenuineIntel, Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz
Судя по выделенному размеру памяти, на одной физической машине сидят 5 вирутальных.
Вирутализация: Virtuozzo
еще на сервере подвешан Plesk 9.2.2
На сервере работают стандартные для веб-сервера процессы.
Проблема следующая:
Все (веб-страницы) работает отлично, все быстро грузится, но в определенные моменты начинаются зависания и ничего не грузится. Проходит какое-то время и снова все "летает".
Что интересно в такие момент load average падает практически до 0, то есть происходит своего рода одновременная блокировка всех процессов.
Пинг и трейсеровка в этот момент проходят без проблем.
Чисто по ощущение, получается, что у виртуального сервера забирается процессор.
В какую сторону копать?
NEW 06.10.09 02:20
подстраиваешь под себя(cpu загруз итп) и ложишь на серваке. смотришь что сним в эти моменты происходит. :)
посмотри логи итп. последи за серваком. если перегруз не от тебя то переходи на железный сервак.
в ответ GANDJUBAS 05.10.09 12:12
В ответ на:
#!/bin/bash
swap=`/usr/bin/free | grep "Swap:" | awk '{ print ($2-$4)*100/$2 }' | cut -d"." -f1`
mem=`/usr/bin/free | grep "Mem:" | awk '{ print ($2-$4)*100/$2 }' | cut -d"." -f1`
server="SERVER.DOMAIN"
mysql_root_passwd="PASSWORD"
mail_list="user@domain.com"
if [ $mem -ge 99 ]
then
if [ $swap -ge 70 ]
then
mysql_proclist=/root/mysql_proclist.log.`date +%Y.%m.%d-%H-%M-%S`
top_proclist=/root/top_proclist.log.`date +%Y.%m.%d-%H-%M-%S`
touch $mysql_proclist
touch $top_proclist
echo "show processlist;" | mysql -p$mysql_root_passwd > $mysql_proclist
ps axu > $top_proclist
echo -e "Der Serverspeicher hat folgende Werte erreicht: \nSwap $swap%, \nMem: $mem%. \n\n\nMySQL Prozessliste\n\n\n`cat $mysql_proclist`\n\n\nTOP Prozessliste\n\n\n`cat $top_proclist`" | mail -s "WARN:$server - SWAP:$swap%, MEM:$mem%" $mail_list
# falls man dienste neustarten moechte
#/etc/init.d/apache2 stop
#/etc/init.d/mysql restart
#/etc/init.d/apache2 start
elif [ $swap -ge 10 ]
then
mysql_proclist=`mktemp`
top_proclist=`mktemp`
echo "show processlist;" | mysql -p$mysql_root_passwd > $mysql_proclist
ps axu > $top_proclist
echo -e "Der Serverspeicher hat folgende Werte erreicht: \nSwap $swap%, \nMem: $mem%. \n\n\nMySQL Prozessliste\n\n\n`cat $mysql_proclist`\n\n\nTOP Prozessliste\n\n\n`cat $top_proclist`" | mail -s "$server - SWAP:$swap%, MEM:$mem%" $mail_list
rm $mysql_proclist $top_proclist
fi
fi
#!/bin/bash
swap=`/usr/bin/free | grep "Swap:" | awk '{ print ($2-$4)*100/$2 }' | cut -d"." -f1`
mem=`/usr/bin/free | grep "Mem:" | awk '{ print ($2-$4)*100/$2 }' | cut -d"." -f1`
server="SERVER.DOMAIN"
mysql_root_passwd="PASSWORD"
mail_list="user@domain.com"
if [ $mem -ge 99 ]
then
if [ $swap -ge 70 ]
then
mysql_proclist=/root/mysql_proclist.log.`date +%Y.%m.%d-%H-%M-%S`
top_proclist=/root/top_proclist.log.`date +%Y.%m.%d-%H-%M-%S`
touch $mysql_proclist
touch $top_proclist
echo "show processlist;" | mysql -p$mysql_root_passwd > $mysql_proclist
ps axu > $top_proclist
echo -e "Der Serverspeicher hat folgende Werte erreicht: \nSwap $swap%, \nMem: $mem%. \n\n\nMySQL Prozessliste\n\n\n`cat $mysql_proclist`\n\n\nTOP Prozessliste\n\n\n`cat $top_proclist`" | mail -s "WARN:$server - SWAP:$swap%, MEM:$mem%" $mail_list
# falls man dienste neustarten moechte
#/etc/init.d/apache2 stop
#/etc/init.d/mysql restart
#/etc/init.d/apache2 start
elif [ $swap -ge 10 ]
then
mysql_proclist=`mktemp`
top_proclist=`mktemp`
echo "show processlist;" | mysql -p$mysql_root_passwd > $mysql_proclist
ps axu > $top_proclist
echo -e "Der Serverspeicher hat folgende Werte erreicht: \nSwap $swap%, \nMem: $mem%. \n\n\nMySQL Prozessliste\n\n\n`cat $mysql_proclist`\n\n\nTOP Prozessliste\n\n\n`cat $top_proclist`" | mail -s "$server - SWAP:$swap%, MEM:$mem%" $mail_list
rm $mysql_proclist $top_proclist
fi
fi
подстраиваешь под себя(cpu загруз итп) и ложишь на серваке. смотришь что сним в эти моменты происходит. :)
посмотри логи итп. последи за серваком. если перегруз не от тебя то переходи на железный сервак.
NEW 07.10.09 15:21
в ответ GANDJUBAS 05.10.09 12:12
Все оказалось гораздо значительно проще...
Апач был сильно ограничен...
Перенастройка prefork модуля все поставила на свои места...
Когда саппорт намекнул куда капать и попросил денег, чтобы они все сами настроили, я мгновенно поумнел... Жадность решает...
Апач был сильно ограничен...
Перенастройка prefork модуля все поставила на свои места...
Когда саппорт намекнул куда капать и попросил денег, чтобы они все сами настроили, я мгновенно поумнел... Жадность решает...