Оптимизация производительности Drupal. Модуль Performance Monitor

Приветствую, друзья!

Поздравляю всех с прошедшими праздниками:)

После новогодних каникул все наверное уже вышли отдохнувшие, вот и я созрел на очередной пост. Сегодня я хочу рассказать о моем небольшом Drupal модуле Performance Monitor, о котором я делал доклад на DrupalCamp Krasnodar 2016.

Коротко об идеи создания этого модуля.

Задача

К нам в компанию часто обращаются клиенты (в основном веб-разработчики) с запросами типа:   

  • Сайт медленно работает после переезда на другой хостинг.
  • Сайт медленно работает, я думаю что мне нужна оптимизация сервера для Drupal.

Для решения этих типовых запросов системный администратор должен проделать следующую типовую работу:   

  1. Оценить время генерации страниц.
  2. Проверить статус и настройки MySQL.
  3. Проверить включен ли php opcache.
  4. Проверить используется ли сайтом Memcached для кэширования.
  5. Собрать статистику по потреблению системных ресурсов для дальнейшей оптимизации.

На мой взгляд в этом процессе оказания услуг по оптимизации настроек серверов для Drupal сайтов есть следующие проблемы:

  1. Клиент не может оценить оптимальность настройки системного окружения и провести сравнение старого и нового сервера.
  2. Системный администратор должен выполнять достаточно много однотипной работы по сбору показателей для дальнейшей оптимизации.

Я попробовал поискать Drupal модули для решения этих проблем, но наткнулся только на Performance and Scalability Checklist, но это только чек-лист без автоматизации и какого-либо тестирования системы.

Так как я не нашел модуля с подобным функционалом, я попробовал реализовать свой небольшой модуль Performance monitor

Описание модуля

При разработке модуля Performance Monitor за основу взял модуль Security Review. Основные фичи модуля Performance Monitor:

  • Расчет оценки общей производительности системы Performance score, используя тестирование времени обработки небольшого php скрипта веб-сервером.
  • Тестирование производительности системы:
    • Производительность процессора.
    • Производительность базы данных.
    • Производительность файловых операций.
  • Статус MySQL и рекомендации по настройке.

Вот несколько скриншотов:

 

1-performance-monitor

 

2-performance-monitor

 

Модуль будет полезен как владельцам Drupal сайтов, так и системным администраторам при проведении оптимизации сервера для Drupal сайта.

Установка

Для установки просто устанавливаем и включаем модуль.

Для запуска тестирования переходим на Reports->Performance Monitor and click “Run Testlist”

P.S. Буду рад комментариям и вопросам.