Тестирование быстродействия системы

Данная инструкция предназначена для мониторинга производительности БД PostgreSQL, решение для Microsoft SQL Server отсутствует.

Мониторинг времени выполнения запросов в БД PostgreSQL осуществляется с помощью инструмента pgBadger. pgbadger – это анализатор журналов Postgres Pro/PostgreSQL, который быстро строит подробные отчёты, обрабатывая файлы журналов сервера.

Инструкция по установке pgBadger и мониторингу:

1. Установить pgBadger. Анализатор устанавливается на Linux-сервере БД PostgreSQL.

 sudo apt install pgbadger 

2. Настроить логирование.

log_line_prefix = '%t [%p]: [%l-1] '
log_statement = 'none'
log_min_duration_statement = 1
log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
log_temp_files = 0
log_autovacuum_min_duration = 0
logging_collector = on
log_directory = '/var/log/postgresquerylog/'
log_filename = 'postgresql.log'
log_destination = 'csvlog,stderr'

log_min_duration_statement – параметр, который отвечает за попадание запросов длительностью более log_min_duration_statement секунд в лог для изучения инструментом pgBadger.

3. Создать папку для логов.

 mkdir -p /var/log/ 

4. Снять отчет.

 cat /rs-analyse/log/postgresql-2024-09-16*.log | grep -viE "create index|insert into analytics|vacuum analyze analytics" > /rs-analyse/log/pg_clean.log 

5. Сгенерировать html-файл.

 pgbadger -j 4  /rs-analyse/log/pg_clean.log 

Пример отчета:

  • 1 – возможность посмотреть Top запросов по времени выполнения;
  • 2 – главная страница отчёта с основной информацией;
  • 3 – возможность посмотреть список блокировок;
  • 4 – количество запросов, попавших в отчёт;
  • 5 – суммарное время выполнения всех запросов в отчёте;
  • 6 – время первого и последнего запроса, попавшего в отчёт.

Дополнительную информацию можно посмотреть на страницах:

Мониторинг производительности логов IIS (Internet Information Services) осуществляется с помощью платформы OpenSearch.

OpenSearch – это открытая поисковая и аналитическая платформа, основанная на Elasticsearch. Она была создана Amazon в ответ на изменения в лицензировании Elasticsearch и предоставляет возможности для полнотекстового поиска, анализа данных и визуализации. Состоит из нескольких инструментов:

  • OpenSearch Dashboard – интерфейс для визуализации и анализа данных;
  • Logstash – централизованная работа с логами;
  • OpenSearch – ядро системы, обеспечивающее функции полнотекстового поиска, индексации и анализа данных.

В данном случае OpenSearch используется как централизованный инструмент хранилища логов для хранения:

  • логов IIS (через инструмент FileBeat);
  • логов приложения (SeriLog Sinks);
  • ошибок приложения (SeriLog Sinks);
  • аудита действий пользователей.

На платформе возможен импорт текстовых файлов логов IIS для анализа производительности и проблем.

Пример лога:

Поля:

  • date;
  • time;
  • sip;
  • csmethod;
  • csuristem;
  • csuriquery;
  • sport;
  • csusername;
  • cip;
  • csUserAgent;
  • csReferer;
  • scstatus;
  • scsubstatus;
  • scwin32status;
  • timetaken.

Путь, по которому можно найти логи IIS:


Пример импортированного файла логов IIS в OpenSearch:


Примеры скриншотов из OpenSearch Dashboards:

Мониторинг характеристик серверов приложения и БД осуществляется с помощью платформы Zabbix. Zabbix – это бесплатное ПО с открытым исходным кодом.

В Zabbix можно мониторить характеристики серверов, например: потребление RAM, нагрузка на CPU, нагрузка на сеть и другие. Также в Zabbix возможно настроить триггеры на превышение каких-то значений. Например, при недостаточном количестве места на сервере, либо при нагрузке на CPU или RAM более 90%.

Zabbix необходим для оперативного мониторинга нагрузки на тестовом и промышленных контурах продуктов.

Элементы Zabbix:

1. Вкладка «Мониторинг» → Узлы сети – список серверов, где можно посмотреть:

  • графики – возможность посмотреть информацию по серверам в виде графиков за произвольный период;
  • последние данные – возможность посмотреть информацию по серверам в виде чисел на текущий момент времени;
  • проблемы и прочее по всем серверам.

Пример использования вкладки «Мониторинг» → Узлы сети:


2. Вкладка «Мониторинг» → Проблемы – список проблем с серверами.

Пример использования вкладки «Мониторинг» → Проблемы:


3. Вкладка «Панели» - на вкладке можно составить свои экраны с произвольным набором серверов и их характеристик.

Примеры использования вкладки «Панели»:


Дополнительную информацию можно посмотреть на странице документации Zabbix.