Linux (Centos, RHEL 5/6) - настройка mod_performance

mod_performance - это модуль Apache, который измеряет нагрузку CPU, Memory, Disk IO по каждому виртуальному хосту, либо глобально. Есть возможность сохранять в СУБД MySQL, PostgreSQL, Sqlite и в текстовый лог-файл.
Ниже описано как измерить нагрузку и сохранить статистику в лог-файл. Нагрузка измеряется только для одного виртуального хоста www.example.com

Установка mod_performance

Есть два варианта установить пакет. Я воспользовался вторым вариантом.

1 вариант:

Подключить репозиторий centalt и установить пакет mod_performance

2 вариант

Установить необходимые для сборки пакеты:

yum install httpd-devel apr-devel gd-devel make gcc

Собрать из исходников:

cd ~
wget http://lexvit.dn.ua/utils/getfile.php?file_name=mod_performance-0.2.tar.gz -O mod_performance-0.2.tar.gz
tar  -xvzf mod_performance-0.2.tar.gz
cd mod_performance-0.3-12/
make
cp .libs/mod_performance.so /etc/httpd/modules/
cp mod_performance.conf /etc/httpd/conf.d/
mkdir -p /statistics/apache
chown -R apache:apache /statistics
chmod -R 755 /statistics

Настройка mod_performance

Добавим в файл /etc/httpd/conf/httpd.conf

# mod_performance
Include conf.d/mod_performance.conf

Отредактируем файл /etc/httpd/conf.d/mod_performance.conf

LoadModule performance_module modules/mod_performance.so

<IfModule mod_performance.c>

  ## включаем измерение нагрузки
  PerformanceEnabled On
  
  ## фильтры (я отлавливаю все запросы)
  PerformanceScript *
  PerformanceURI *
  
  ## укажем запросы какого виртуальный хоста измерять
  PerformanceHostFilter www.example.com
  
  ## тюнинг
  PerformanceExtended Off
  PerformanceStackSize 2
  
  ## храним статистику 30 дней
  PerformanceHistory 30

  ## укажем хранить статистику в текстовом лог-файле
  PerformanceLogType Log
  PerformanceLog /statistics/apache/perf.log
  
  ## путь до сокета для обмена информацией между демоном и веб-сервером
  PerformanceSocket /statistics/apache/perfsock
</IfModule>

Результаты

Выполним:

service httpd restart
cat /statistics/apache/perf.log
[2012-08-29 05:36:25] from www.example.com (/perf-status) script /home/.httpd/www.example.com/perf-status: cpu 0.000000 (0.000000), memory 0.197148 (7.906250), execution time 0.000474, IO: R - 0.000000 W - 0.000000
[2012-08-29 05:36:26] from www.example.com (/perf-status) script /home/.httpd/www.example.com/perf-status: cpu 0.000000 (0.000000), memory 0.196953 (7.898438), execution time 0.000338, IO: R - 0.000000 W - 0.000000
[2012-08-29 05:37:49] from www.example.com (/perf-status) script /home/.httpd/www.example.com/perf-status: cpu 0.000000 (0.000000), memory 0.197050 (7.902344), execution time 0.000730, IO: R - 0.000000 W - 0.000000
[2012-08-29 05:37:53] from www.example.com (/perf-status) script /home/.httpd/www.example.com/perf-status: cpu 0.000000 (0.000000), memory 0.197050 (7.902344), execution time 0.000683, IO: R - 0.000000 W - 0.000000

Ссылки

Комментарии

 
blog/2012/08/29-linux_-_настройка_mod_performance.txt · Последние изменения: 2012/08/29 17:59 — Антон Бугреев · []