Тест 1С: PostgreSQL 17 vs MS SQL 2022 для 500 пользователей. Результаты APDEX и времени выполнения. Анализ виртуализации и standalone. Читайте подробнее в статье.
В начале 2025 года компания 1С обновила свою демо базу ERP. Учитывая последние тенденции к импортозамещению, интересно было проверить:
- кто быстрее в 2025 году — MS SQL 2022 или PostgreSQL 17.4 в режиме виртуализации и Standalone?
Глава 1. Тестовый стенд
Аппаратная среда
| Сервер 1С | AMD EPYC 74F3 24/48 3.2 – 4.0 Ghz 512 Gb ECC DDR4 1×7.68 Tb NVME SSD Micron MTFDKCC7T6TFR |
| Сервер СУБД | Intel Xeon Platinum 8260 24/48 2.4 – 3.9 Ghz 256 GB ECC DDR4 1×1.7Tb NVME SSD Samsung MZQL21T9HCJR-00A07 |
| Сеть | 10 Gb |
Тесты дисковой подсистемы AMD
Рисунок 1 – Производительность дисковой подсистемы сервера 1С (AMD)
Тесты дисковой подсистемы Intel
Рисунок 2 – Производительность дисковой подсистемы сервера СУБД (Intel)
Примечание:
Диски, используемые в тестовом стенде, обладают параметром DWDP = 1. Данные диски подходят для использования в демо стенде, но не подходят для продакшн структуры.
Программная среда
| Виртуальные машины (ВМ) | Standalone серверы | |||
| ОС | Ubuntu Server 24.04 | Windows Server 2025 | Ubuntu Server 24.04 | Windows Server 2025 |
| СУБД | PostgreSQL 17.4 | MS SQL 2022 | PostgreSQL 17.4 | MS SQL 2022 |
| Платформа | 8.3.27.1507 | |||
В качестве системы виртуализации использовалась Hyper-V на базе WIndows Server 2025.
Выделяемые ресурсы для виртуальных машин:
- Application сервер 1С — 46 ядер, 510 ГБ ОЗУ;
- MS SQL 2022 сервер — 46 ядер, 250 ГБ ОЗУ;
- PostgreSQL сервер — 46 ядер, 250 ГБ ОЗУ.
Инструменты тестирования
| Название | Ссылка | Объем базы |
| Тест-центр База 1С:ERP 2.5.17.117 от 1С | https://releases.1c.ru/additional_file?nick=EnterpriseERP20&path=Enterprise20%5cExtrafiles%5cE3K_2.5.17.117.dt | 950 Gb |
| PosgreSQL 17.4 | https://www.postgresql.org/ | – |
Глава 2. Методика тестирования
В рамках данной статьи применяю методику анализа, используя абсолютные и относительные значения погрешности.
Описание методики определения погрешностей:
- определяются идеальные условия испытаний. В нашем случае это аппаратные сервера с ролями сервера 1С и СУБД, объединенные в 10GB сеть;
- замер значений:
- аппаратный сервер 1C (Windows) + аппаратный сервер MS SQL 2022 (Windows), 3 теста (один “прогревочный” для кеширования базы);
- аппаратный сервер 1C (Windows) + аппаратный сервер PostgreSQL 17.4 (Ubuntu Server 24.04). 3 теста (один “прогревочный” для кеширования базы)
3. Вычисляем значения по формуле абсолютной погрешности и относительной:
Рисунок 3 — Формула оценки абсолютной погрешности
Рисунок 4 — Формула оценки относительной погрешности
Проводим расширенные нагрузочные испытания для понимания предела работы стенда, чтобы избежать наличия “узких” мест:
1. задаем субъективно избыточное число пользователей, для данной связки оборудования — 1500 сеансов;
2. уменьшаем число сеансов, до тех пор, пока показатели времени выполнения и APDEX существенно не уменьшатся при дальнейшем сокращении числа сеансов;
3. начиная с 750 сеансов, показатели существенно не уменьшались при дальнейшем уменьшении числа пользователей;
4. для данной связки я остановился на 500 сеансах 1С.
Проводим замер целевых значений (конфигурация теста APDEX – 500 пользователей):
1. выполняем замер тестов APDEX, используя, связки:
а) ВМ 1C (Windows) + ВМ MS SQL 2022 (Windows);
б) ВМ 1C (Windows) + ВМ PostgreSQL 17.4 (Ubuntu Server)
2. замеряем по одному разу, результаты вносим в таблицу. В таблице указываем два параметра — значение APDEX и время выполнения.
Примечание:
Тест 1C: КИП (APDEX).
В основе методики APDEX лежит набор инструментов 1С КИП. В данном случае использовался весь функционал методологии. Используются стандартная демонстрационная база ERP с сайта 1С.
Стандартная методология APDEX использует прогрессивную шкалу от 0 до 1, где 1 — это замечательный результат, а 0 — неудовлетворительный. Требуется указать целевое значение параметра производительности той или иной операции, создать сценарии и запустить тест.
Шкала оценки APDEX
| Шкала APDEX | |||
| Значение | Оценка | ||
| от | до | ||
| 0.00 | 0.50 | неприемлемо | |
| 0.50 | 0.70 | очень плохо | |
| 0.70 | 0.85 | плохо | |
| 0.85 | 0.94 | хорошо | |
| 0.94 | 1.00 | отлично | |
Глава 3. Оптимизации
Оптимизация аппаратной части
Тюнинг процессора AMD
Рисунок 5 — Оптимизация процессора AMD
- Advanced – CPU Configuration
- Global C-State Control – Disabled
- Local Apic Mode – 2x APIC — Рекомендация AMD
- Advanced – NB Configuration
- Determinism Control – Manual
- Determinism Slider – Performance — Аналог Max Performance на платах Intel от Supermicro.
- APBDIS – 1
- Fixed SOC P-State – P0 Два последних параметра переводят AMD Infinity Fabric (шину) и контроллеры памяти в режим полной мощности и устраняет колебания времени ожидания.
- DF C-States – Disabled — Отключает энергосберегающий режим для CPU
Для выполнения операций пользовались документом представленном на официальном сайте:
https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/amd-epyc-7003-tg-workload-57011.pdf
В данном документе содержится еще много параметров для тюнинга. В рамках нашей задачи хватило тех, что мы описали выше. Досадно, что такого подробного документа нет для Intel систем.
В результате на процессоре AMD получаем фиксированную в 3.8 ГГц частоту по всем 24 ядрам.
Тюнинг процессора Intel
Рисунок 6 — Оптимизация процессора Intel
Advanced
- Extended APIC – Enable Для многоядерных CPU настройка обязательна. Иначе при установке роли Hyper-V, число ядер в системе упадет до 1.
Advanced – Advanced power management Configuration
- Power Technology – Custom
- Power Performance Tuning – Bios Controls EPB
- Energy_perf_bias_cfg mode – Maximum Performance
- CPU P-State Control
- SpeedStep (P-States) — [Enable]
- Config TDP — [Normal]
- EIST PSD Function — [HW_ALL]
- Turbo Mode — [Enable]
- Hardware PM State Control
- Hardware P-States — [Disable]
- CPU C State Control
- Autonomous Core C-State: [Disable]
- CPU C6 report: [Disable]
- Enhanced Halt State (C1E): [Disable]
- Package C State Control
- Package C-State – [C0/C1 state]
- CPU T-State Control
- Software Controlled T-States [Enable]
Не стоит трогать этот режим, если не хотим повредить CPU
В результате на процессоре Intel получаем фиксированную в 3.1 ГГц частоту по всем 24 ядрам.
Часть 3. Оптимизации программной части. MS SQL сервер
Используем материалы с сайта ИТС 1С для тюнинга БД
https://its.1c.ru/db/metod8dev/content/5904/hdoc .
Данных инструкций будет достаточно для базовой настройки SQL сервера.
Часть 4. Оптимизации программной части. PostgreSQL сервер
Используем материалы с сайта ИТС 1С для тюнинга БД
https://its.1c.ru/db/metod8dev#content:5866:hdoc
Опишем основные изменения:
random_page_cost = 1.1 (для SSD) effective_io_concurrency = 200 min_wal_size = 4 gb max_wal_size = 10 gb
Примечание:
- отсутствуют правки параметра huge_pages. Дело в том, что на ИТС про эти параметры данных нет, а значит настройки специфические.
- начиная с версии 16.4, 1С добавила в свою сборку Postgres параметр enable_temp_memory_catalog.
https://dl03.1c.ru/content/AddCompPostgre/17_2_4_1C/postgreUpdate_ru.htm
Параметр новый и, при определенных условиях, обещает ускорить работу с временными таблицами. На ИТС про него информации нет и в сборке от 1С настройка не активна.
Глава 4. Тестирование
Пример окна “Настройки запуска”:
1. Значение APDEX на эталонных серверах с MS SQL
| Название | Значение APDEX эталонной структуры MS SQL | Время выполнения | Количество замеров |
| Тест 1 | 0.925 | 1.927 | 138 297 |
| Тест 2 | 0.922 | 1.955 | 135 219 |
| Тест 3 | 0.928 | 1.942 | 136 298 |
| Среднее значение | 0.927 | 1.941 | – |
| Относительная погрешность | 0.41% | 1.79% | – |
| Абсолютная погрешность | 0.004 | 0.03 | – |
2. Значение APDEX на эталонных серверах с PostgreSQL
| Название | Значение APDEX эталонной структуры Postgres | Время выполнения | Количество замеров |
| Тест 1 | 0.946 | 1.689 | 139 830 |
| Тест 2 | 0.948 | 1.652 | 137 718 |
| Тест 3 | 0.946 | 1.633 | 135 479 |
| Среднее значение | 0.947 | 1.658 | – |
| Относительная погрешность | 0.15% | 4.26% | – |
| Абсолютная погрешность | 0.001 | 0.071 | – |
3. Значение APDEX на виртуальных машин
| Название | Значения APDEX виртуальных машин | Время выполнения | Количество замеров |
| 1C (Windows) + MS SQL 2022 (Windows) | 0.913 | 2.214 | 125 219 |
| 1C (Windows) + Postgres 17.4 (Ubuntu Server) | 0.936 | 2.104 | 129 515 |
Глава 5. Выводы
Примерно раз в год провожу исследование производительности разных баз данных для 1С. Текущее исследование подтверждает тот факт, что компания 1С движется в сторону глубокой интеграции с PostgreSQL и достигает в этом положительных результатов.
PostgreSQL 17.4 обходит MS SQL по показаниям APDEX и времени выполнения как в режиме виртуализации, так и в Standalone режиме. Причем в Standalone режиме на впечатляющие 17.2%.
Таблица сравнения производительности APDEX и времени выполнения, учитывая погрешности метода:
| Разница | ||
| APDEX | Время выполнения | |
| ВМ | PostgreSQL быстрее на 2.5% | PostgreSQL быстрее на 5.2% |
| Физический сервер | PostgreSQL быстрее на 2.2% | PostgreSQL быстрее на 17.2% |
Интерпретация результатов APDEX
- APDEX-тест анализирует тысячи параметров и замеров, выдавая усредненную оценку. В данном случае он показывает, что система работает быстро как в виртуализации, так и на физическом сервере.
- Если нам не требуется измерять большое число параметров системы, то следует использовать параметр “время выполнения”.

