Инструкция для подготовки к нагрузочному тестированию
Сервер приложений 1С.
Собираем технологический журнал 1С:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="ПутьДляСбораЛогов/EXCP" history="24">
<event>
<eq property="name" value="EXCP"/>
<eq property="p:processName" value="ИмяБазы"/>
</event>
<event>
<eq property="name" value="EXCPCNTX"/>
<eq property="p:processName" value="ИмяБазы"/>
</event>
<event>
<eq property="name" value="QERR"/>
<eq property="p:processName" value="ИмяБазы"/>
</event>
<event>
<eq property="name" value="ATTN"/>
</event>
<event>
<eq property="name" value="PROC"/>
</event>
<event>
<eq property="name" value="ADMIN"/>
</event>
<property name="all"/>
</log>
<log location="ПутьДляСбораЛогов/LOCKS" history="24">
<event>
<eq property="name" value="TLOCK"/>
<eq property="p:processName" value="ИмяБазы"/>
<ge property="Durationus" value="100000"/>
</event>
<event>
<eq property="name" value="TTIMEOUT"/>
<eq property="p:processName" value="ИмяБазы"/>
</event>
<event>
<eq property="name" value="TDEADLOCK"/>
<eq property="p:processName" value="ИмяБазы"/>
</event>
<property name="all"/>
</log>
<log location="ПутьДляСбораЛогов/Sql" history="24">
<event>
<eq property="Name" value="DBPOSTGRS"/>
<eq property="p:processName" value="ИмяБазы"/>
<ge property="Durationus" value="1000000"/>
</event>
<property name="all"/>
</log>
<log location="ПутьДляСбораЛогов/sdbl" history="24">
<event>
<eq property="Name" value="SDBL"/>
<eq property="p:processName" value="ИмяБазы"/>
<ge property="Durationus" value="1000000"/>
</event>
<property name="all"/>
</log>
<log location="ПутьДляСбораЛогов/call" history="24">
<event>
<eq property="Name" value="CALL"/>
<eq property="p:processName" value="ИмяБазы"/>
<ge property="Durationus" value="1000000"/>
</event>
<property name="all"/>
</log>
<log location="ПутьДляСбораЛогов\mini" history="24">
<event>
<ne property="name" value=""/>
</event>
</log>
</config>
CODE
В виде файла можно скачать тут - logcfg.xml
В самом файле необходимо заменить 2 параметра:
- ПутьДляСбораЛогов – сменить на каталог, куда будут собираться логи ТЖ. ВАЖНО: у пользователя, под которым запущена служба сервера 1С, должен быть права на чтение и запись к указанному каталогу.
- ИмяБазы – заменить на имя базы как оно задано в кластере серверов 1С, которую планируется тестировать.
Сервер СУБД
Настройка Tantor
Если выполняется сравнение с СУБД от другого вендора, то настройки нужно взять аналогичные, чтобы сравнение было корректным!
Если просто тестируется наша сборка, то настроить ее нужно согласно инструкции.
Логи СУБД
Добавляем в файл postgresql.auto.conf следующие настройки для сбора подробных логов СУБД:
log_directory = '/var/log/postgresql/'
log_destination = 'csvlog'
log_lock_waits = on
log_statement = 'all'
log_min_duration_statement = -1
log_min_duration_sample = 0
log_statement_sample_rate = 0.2
log_transaction_sample_rate = 0.2
log_min_messages = 'WARNING'
shared_preload_libraries = 'auto_explain'
auto_explain.log_min_duration = '1s'
auto_explain.log_analyze = true
auto_explain.log_verbose = true
auto_explain.log_buffers = true
auto_explain.log_format = text
CODE
Предварительно нужно создать директорию '/var/log/postgresql/' и дать пользователю postgres права на нее:
sudo mkdir /var/log/postgresql/
sudo chown -R postgres:postgres /var/log/postgresql/
BASH
Версия СУБД
Получаем информацию о версии СУБД и билде:
sudo -u postgres /opt/tantor/db/15/bin/psql -c "select tantor_version();"
sudo -u postgres /opt/tantor/db/15/bin/psql -c "select tantor_build();"
SQL
Данные об ОС
Сведения об версии ОС и настройках ИБ:
cat /etc/*release
cat /etc/astra/build_version
sudo astra-modeswitch get
astra-security-monitor status
systemctl status auditd
BASH
Сведения о конфигурации сервера:
cat /proc/meminfo| grep 'Mem'
lscpu
BASH
Итоговый список данных для передачи в tech-команду
Сервер приложений 1С:
- Технологический журнал 1С.
- Данные об ОС
- Версия платформы 1С Предприятие, версия режима совместимости тестируемой базы
Сервер СУБД:
- Логи СУБД
- Данные об ОС
- Версия СУБД
- Файл postgresql.conf, postgresql.auto.conf