Эффект от выноса временных таблиц в RAM для Tantor SE1C (PostgreSQL)
Вынос временных таблиц в RAM может быть эффективен на высоконагруженных системах, а также на тех системах, в которых дисковая подсистема не справляется с нагрузкой.
Давайте на примере рассмотрим почему сделан такой вывод.
Тестовый стенд
Настройка | Значение |
---|---|
Сервер СУБД | 48 vCPU, 378 Gb RAM. дисковая подсистема:
|
Сервер приложений 1С | 1 центральный и 2 рабочих сервера, все настройки по умолчанию. Характеристики всех 3х серверов одинаковые: 32 vCPU, 128 Gb RAM, диск 300 Gb |
Сервер лицензирования 1С | Все серверные и клиентские лицензии вынесены на отдельный сервер с характеристиками: 4 vCPU, 16 Gb RAM, диск 50 Gb |
Версия СУБД | Tantor SE1C 17.2 |
Версия ОС сервера СУБД | Astralinux 1.8.1 |
Версия 1С | 8.3.26.1541 |
Версия ОС серверов приложений | Astralinux 1.7.5 |
Настройки сбора логов ТЖ | не собирается |
Настройки Tantor SE1C |
Нагрузочный тест
В качестве теста взят готовый нагрузочный тест ERP от фирмы 1С. Мы взяли сценарий "ЕРП. 5 000 пользователей" и уменьшили в нем количество ВРМ с 5000 до 3225:

Длительность теста уменьшена до 4х часов, чтобы повысить интенсивность нагрузки на СУБД:

Результаты тестов
Варианты теста
Temp on Disk - временные таблицы через параметр temp_tablespaces вынесены на диск sdc.
Temp in RAM - временные таблицы через параметр temp_tablespaces вынесены в RAM. Размер RAM диска:
Графики нагрузки на оборудование
Процессор и ОЗУ
Утилизация дисков
Время отклика и очереди к дискам
Полученные результаты
Вариант | APDEX | Среднее время |
---|---|---|
Temp on Disk | 0,800 | 8,538 |
Temp in RAM | 0,861 | 7,344 |
За счет снижения нагрузки на дисковую систему мы видим прирост производительности по среднему времени на 15%.