Приветствую, друзья!
Поздравляю всех с прошедшими праздниками:)
После новогодних каникул все наверное уже вышли отдохнувшие, вот и я созрел на очередной пост. Сегодня я хочу рассказать о моем небольшом Drupal модуле Performance Monitor, о котором я делал доклад на DrupalCamp Krasnodar 2016.
Коротко об идеи создания этого модуля.
Задача
К нам в компанию часто обращаются клиенты (в основном веб-разработчики) с запросами типа:
- Сайт медленно работает после переезда на другой хостинг.
- Сайт медленно работает, я думаю что мне нужна оптимизация сервера для Drupal.
Для решения этих типовых запросов системный администратор должен проделать следующую типовую работу:
- Оценить время генерации страниц.
- Проверить статус и настройки MySQL.
- Проверить включен ли php opcache.
- Проверить используется ли сайтом Memcached для кэширования.
- Собрать статистику по потреблению системных ресурсов для дальнейшей оптимизации.
На мой взгляд в этом процессе оказания услуг по оптимизации настроек серверов для Drupal сайтов есть следующие проблемы:
- Клиент не может оценить оптимальность настройки системного окружения и провести сравнение старого и нового сервера.
- Системный администратор должен выполнять достаточно много однотипной работы по сбору показателей для дальнейшей оптимизации.
Я попробовал поискать Drupal модули для решения этих проблем, но наткнулся только на Performance and Scalability Checklist, но это только чек-лист без автоматизации и какого-либо тестирования системы.
Так как я не нашел модуля с подобным функционалом, я попробовал реализовать свой небольшой модуль Performance monitor
Описание модуля
При разработке модуля Performance Monitor за основу взял модуль Security Review. Основные фичи модуля Performance Monitor:
- Расчет оценки общей производительности системы Performance score, используя тестирование времени обработки небольшого php скрипта веб-сервером.
- Тестирование производительности системы:
- Производительность процессора.
- Производительность базы данных.
- Производительность файловых операций.
- Статус MySQL и рекомендации по настройке.
Вот несколько скриншотов:


Модуль будет полезен как владельцам Drupal сайтов, так и системным администраторам при проведении оптимизации сервера для Drupal сайта.
Установка
Для установки просто устанавливаем и включаем модуль.
Для запуска тестирования переходим на Reports->Performance Monitor and click “Run Testlist”
В качестве дополнительной информации имеет смысл упомянуть страницу мониторинга производительности, доступную по адресу admin/reports/perfmon, где можно получить расширенные данные о состоянии системы. Также стоит обратить внимание на модуль Comment Notify, который может быть полезен для уведомлений о новых комментариях
Отдельно стоит отметить показатель Query cache efficiency. В ряде случаев он может постоянно отображаться на уровне 0, независимо от предпринятых настроек. Возможно, это связано с тем, что query cache отключён на уровне MySQL. Для уточнения причины корректно было бы добавить issue к модулю с приложенным выводом команд SHOW GLOBAL STATUS и SHOW GLOBAL VARIABLES, чтобы можно было детально проанализировать поведение системы.
В целом модуль выглядит полезным инструментом для мониторинга и диагностики, особенно при комплексном подходе к анализу производительности.
Добавить комментарий