Konsola ikonaTym razem wpis ze skryptem którego dość często uzywam na budżetowych VPSach na których trzymam wielkie bazy działające na raczej średnio zoptymalizowanych skryptach.

Jeżeli już zawodzą wszystkie opcje takie jak optymalizacja zapytań mysql, samego serwerach myswl czy apache i nasz serwer apache się wiecznie zapycha to wtedy warto uzyć tego skryptu.

Znalazłem go niegdyż na jakieś stronie i przerobiłem go pod własne potrzeby. Sprawdza on jaki jest load average na serwerze i w przypadku gdy osiągnie on nieporządaną wartość to restartuje on zarówno apache jak i mysqla. Oczywiście taki skrypt warto odpalać w cronie np: co 5 minut i ze spokojem możemy zostawić serwer VPS bez kontroli na dłuższy czas 🙂

 

#!/bin/sh
check=`cat /proc/loadavg | sed 's/\./ /' | awk '{print $1}'` // pobiera wartość load average
if [ $check -gt 50 ]; then // jeżeli load average jest większy niż 25 to wtedy
echo "$(date) - Load average $check" >> /var/www/restart.log //zapisuje do logu moment przeciążenia
/etc/init.d/apache2 stop //stopujemy apache
/etc/init.d/mysql stop // stopujemy mysql
sleep 5
/etc/init.d/apache2 start //włączamy apache
/etc/init.d/mysql start //włączamy mysqla
fi

Oczywiście jeżeli load jest mniejszy niż zadana wartość skrypt niczego nie zrestartuje.

Michał

Informatyk, administrator kochający pisać skrypty w PHP, BASHu, pythonie. Na stronie umieszczam rzeczy przydatne w codziennej pracy tak aby łatwo mi było do nich wrócić

Artykuły autora | Strona www autora

Leave a Reply