Новый инструмент для профайлинга PHP-скриптов - collectd-pinba

()

Часто возникает необходимость отслеживать нагрузку, создаваемую работой PHP-сценариев на сервере, а также использование ими ресурсов. Это особенно важно для оценки текущих ограничений при оптимизации параметров сервера и выборе направлений дальнейшего масштабирования.

Одно из существующих решений для этих целей известно как PINBA. Оригинальный PINBA представляет собой расширение PHP (php-pinba) и плагин к MySQL (pinba-engine). По завершении выполнения сценария php-pinba отправляет статистические данные pinba-engine, который в свою очередь, собирает информацию о работе сценариев. Потом эта информация может быть считана для анализа из временных таблиц в MySQL. Данное решение не полное, нужны средства для хранения и отображения в удобной форме собранной информации. Также для работы необходима MySQL версии не ниже 5.1 (поскольку поддержка плагинов появилась в 5.1).

Мы уже писали про легковесную систему сбора статистики Collectd. Недавно вышел первый альфа релиз collectd-pinba плагина к Collectd (проект живёт по адресу http://sourceforge.net/projects/collectd-pinba). Разработка основана на коде оригинального pinba-engine. Первоначально collectd-pinba разрабатывался как посредник между collectd и pinba-engine, но впоследствии стал представлять из себя замену pinba-engine. Таким образом, из проекта PINBA для полноценной работы необходимо только расширение к PHP.

На данный момент плагин собирает следующую информацию:

  • Число запросов в секунду
  • Время выполнения запросов
  • Использование ресурсов в пользовательском режиме
  • Использование ресурсов в системном режиме
  • Используемая скриптами память
  • Размер генерируемых скриптами данных

По умолчанию плагин всегда мониторит общую статистику работы всех скриптов, но есть возможность разделять информацию по имени хоста, серверу и скрипту путём добавления в конфигурацию соответствующих опций. Стоит заметить, что в текущем версии не реализована работа с pinba таймерами, что намечается в будущем.

Автор рассчитывает на сотрудничество со всеми, кого заинтересовала данная разработка. Отчеты по тестам, замечания, предложения, багрепорты всячески приветствуются.

Сайт проекта

Ключевые слова: collectd, pinba, php.

Комментарии:

Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE