Как посмотреть, какие скрипты грузят ваш сайт

Если Ваш сайт размещён на виртуальном хостинге, то при росте посещаемости, растут ресурсы, потребляемые сайтом. И бывает, что потребление ресурсов (время процессора, операции ввода-вывода, запросы к базе) начинает превышать выделенные Вам лимиты (они обычно прописаны в договоре).

И Вы получаете от хостера "письмо счастья", в котором описывается сложившаяся ситуация и Вам предлагают перейти на более дорогой тариф. Прежде чем тратить деньги, можно попробовать решить проблему внутренними методами. Необходимо понять куда расходуются ресурсы.

То есть нужно найти наиболее часто вызываемый скрипт. Понятно, что это будет index.php. А следующий? У меня это оказался скрипт создания превью showthumb.php из Simple Image Gallery. В итоге, отключив его я смог уменьшить потребление ресурсов и остаться на старом тарифе. Как я это сделал? На хостинге hc.ru логи не лежат в явном виде. Поэтому для доступа к ним необходимо использовать утилиту putty.exe Запускаете, вводите свой сайт, авторизуйтесь.

Для обработки и анализа лог-файлов Вам необходимо использовать следующие команды:  


Сортировка запросов по запрашиваемым скриптам:

cat ~/logs/custom_log | awk {'print $7'}  | cut -d\? -f1| grep php | sort | uniq -c| sort -n    

Сортировка запросов по IP:

cat ~/logs/custom_log | cut -d' ' -f1 | sort | uniq -c| sort -r -g | less    

А если смотреть все запросы, а не только php-скрипты, то:

cat ~/logs/custom_log | awk {'print $7'}  | cut -d\? -f1| sort | uniq -c| sort -n
  • custom_log - лог-файл доступа за сегодня
  • custom_log.previous - лог-файл доступа за вчера

А также, полный список запущенных процессов можно вывести также с помощью команды: ps aux.
Для поверхностной проверки можно использовать консольную утилиту "top", выводящую список наиболее ресурсоёмких процессов и информацию о них.

Справочное руководство по утилитам top и ps вызывается командами:

man top
man ps

Удачи в оптимизации сайтов!