====== Тестирование быстродействия системы ======
===== Мониторинг производительности БД =====
Данная инструкция предназначена для мониторинга производительности БД [[product:settings:pssql|PostgreSQL]], решение для [[product:settings:mssql|Microsoft SQL Server]] отсутствует.
Мониторинг времени выполнения запросов в БД [[product:settings:pssql|PostgreSQL]] осуществляется с помощью инструмента pgBadger. pgbadger – это анализатор журналов Postgres Pro/[[product:settings:pssql|PostgreSQL]], который быстро строит подробные отчёты, обрабатывая файлы журналов сервера.
Инструкция по установке pgBadger и мониторингу:
1. Установить pgBadger. Анализатор устанавливается на Linux-сервере БД [[product:settings:pssql|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
Пример отчета:
{{ :product:settings:logs:image-2024-9-17_15-19-6.png?direct&960 |}}
* 1 – возможность посмотреть Top запросов по времени выполнения;
* 2 – главная страница отчёта с основной информацией;
* 3 – возможность посмотреть список блокировок;
* 4 – количество запросов, попавших в отчёт;
* 5 – суммарное время выполнения всех запросов в отчёте;
* 6 – время первого и последнего запроса, попавшего в отчёт.
Дополнительную информацию можно посмотреть на страницах:
- [[https://postgrespro.ru/docs/enterprise/14/app-pgbadger|Описание pgBadger]].
- [[https://itc-life.ru/nastrojka-sbora-statistiki-postgresql-s-pomoshhyu-pgbadger/|Установка и настройка pgBadger]].
===== Мониторинг производительности логов IIS =====
Мониторинг производительности логов IIS (Internet Information Services) осуществляется с помощью платформы [[https://opensearch.org/downloads.html|OpenSearch]].
[[https://opensearch.org/downloads.html|OpenSearch]] – это открытая поисковая и аналитическая платформа, основанная на Elasticsearch. Она была создана Amazon в ответ на изменения в лицензировании Elasticsearch и предоставляет возможности для полнотекстового поиска, анализа данных и визуализации. Состоит из нескольких инструментов:
* OpenSearch Dashboard – интерфейс для визуализации и анализа данных;
* Logstash – централизованная работа с логами;
* OpenSearch – ядро системы, обеспечивающее функции полнотекстового поиска, индексации и анализа данных.
В данном случае [[https://opensearch.org/downloads.html|OpenSearch]] используется как централизованный инструмент хранилища логов для хранения:
* логов IIS (через инструмент FileBeat);
* логов приложения (SeriLog Sinks);
* ошибок приложения (SeriLog Sinks);
* аудита действий пользователей.
На платформе возможен импорт текстовых файлов логов IIS для анализа производительности и проблем.
Пример лога:
{{ :product:settings:logs:image-2024-10-2_11-2-5.png?direct&960 |}}
Поля:
* date;
* time;
* sip;
* csmethod;
* csuristem;
* csuriquery;
* sport;
* csusername;
* cip;
* csUserAgent;
* csReferer;
* scstatus;
* scsubstatus;
* scwin32status;
* timetaken.
Путь, по которому можно найти логи IIS:
{{ product:settings:logs:image-2024-10-2_19-44-26.png?direct&500 |}}
\\
Пример импортированного файла логов IIS в [[https://opensearch.org/downloads.html|OpenSearch]]:
{{ :product:settings:logs:image-2024-10-2_11-4-11.png?direct&960 |}}
\\
Примеры скриншотов из OpenSearch Dashboards:
{{ :product:settings:logs:image-2024-10-2_10-57-25.png?direct&960 |}}
{{ :product:settings:logs:image-2024-10-2_10-58-41.png?direct&960 |}}
===== Мониторинг характеристик серверов приложения и БД =====
Мониторинг характеристик серверов приложения и БД осуществляется с помощью платформы [[https://www.zabbix.com/ru|Zabbix]]. [[https://www.zabbix.com/ru|Zabbix]] – это бесплатное ПО с открытым исходным кодом.
В [[https://www.zabbix.com/ru|Zabbix]] можно мониторить характеристики серверов, например: потребление RAM, нагрузка на CPU, нагрузка на сеть и другие. Также в [[https://www.zabbix.com/ru|Zabbix]] возможно настроить триггеры на превышение каких-то значений. Например, при недостаточном количестве места на сервере, либо при нагрузке на CPU или RAM более 90%.
[[https://www.zabbix.com/ru|Zabbix]] необходим для оперативного мониторинга нагрузки на тестовом и промышленных контурах продуктов.
Элементы [[https://www.zabbix.com/ru|Zabbix]]:
1. Вкладка «Мониторинг» → Узлы сети – список серверов, где можно посмотреть:
* графики – возможность посмотреть информацию по серверам в виде графиков за произвольный период;
* последние данные – возможность посмотреть информацию по серверам в виде чисел на текущий момент времени;
* проблемы и прочее по всем серверам.
Пример использования вкладки «Мониторинг» → Узлы сети:
{{ :product:settings:logs:image-2024-9-30_8-59-13.png?direct&960 |}}
\\
2. Вкладка «Мониторинг» → Проблемы – список проблем с серверами.
Пример использования вкладки «Мониторинг» → Проблемы:
{{ :product:settings:logs:image-2024-9-30_9-3-42.png?direct&960 |}}
\\
3. Вкладка «Панели» - на вкладке можно составить свои экраны с произвольным набором серверов и их характеристик.
Примеры использования вкладки «Панели»:
{{ :product:settings:logs:image-2024-9-30_9-1-1.png?direct&960 |}}
{{ :product:settings:logs:image-2024-9-30_9-2-2.png?direct&960 |}}
\\
Дополнительную информацию можно посмотреть на странице [[https://www.zabbix.com/ru/manuals|документации Zabbix]].