====== Тестирование быстродействия системы ====== ===== Мониторинг производительности БД ===== Данная инструкция предназначена для мониторинга производительности БД [[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]].