В мире 1С нет более известной фамилии, чем Гилев. Его тест — это своего рода «народный» стандарт, первое, что запускают администраторы для проверки производительности. Это простой и быстрый способ получить заветную цифру, которая говорит о скорости системы.

Мы и сами решили использовать этот тест, запуская новый высокопроизводительный сервис 1С. Нам нужно было понять, как себя проявят наши новые серверы с процессорами 4.0 ГГц.

Но вот в чём загвоздка: тест Гилева — это важный, но далеко не единственный и не всегда адекватный инструмент. Он как спидометр в машине: показывает ��корость, но не говорит ничего о том, как авто поведет себя на повороте, при обгоне или с полным багажником. 

Мы на практике убедились, что его результаты в отрыве от настоящих задач могут несколько отличаться от реальности, особенно в современной облачной среде. Давайте разберемся, почему красивая цифра из теста — это еще не гарантия того, что 1С будет работать быстрее.

Почему тесту не всегда стоит верить?

Тест Гилева — это как школьная контрольная по физике, которая проверяет знание одной конкретной формулы, но не скажет, сможете ли вы построить мост.

Если по-простому, это синтетический тест, который измеряет скорость выполнения одной операции — записи в регистр на почти пустой базе. Главные его недостатки:

  • Живет в идеальном мире: тест работает без ваших реальных данных, конфигураций и типичной нагрузки.

  • Устарел морально: он создавался для эпохи файловых баз и однопоточных серверов, а сегодня мы работаем с кластерами, мощными СУБД и виртуализацией.

  • Выдает просто цифру: его результат часто воспринимают как истину в последней инстанции, хотя на деле это лишь один из сотни возможных показателей.

Короче, он дает неполную и часто искаженную картину. Но раз уж он так популярен, мы решили пройти его до конца и посмотреть, что получится.

Полигон: как мы тестировали

Все тестирование проходило на сервере для 1С: 

  • Процессоры: 2x EPYC 9274F с частотой 4.0 ГГц

  • Оперативная память: 16 модулей по 64GB DDR5 4800 ECC

  • Накопители: 8x Samsung PM1743 по 3.8TB

  • Сетевые адаптеры: 2x Mellanox Connect X5

  • Платформа: ASUS RS7202-E12-RS24U

  • Системный накопитель: высокоскоростной M2 SSD

После подготовки оборудования началось самое интересное: 

  • Выбор гипервизора: мы использовали VMware Workstation

  • Установка и настройка гипервизора: после выбора гипервизора необходимо установить его на хост-машину. Затем нужно настроить параметры гипервизора, такие как количество выделяемых ресурсов (процессор, оперативная память, дисковое пространство) для каждой виртуальной машины. В нашем случае было 48 CPU, 256 RAM и 2048 SSD. 

  • Создание новой виртуальной машины: в интерфейсе гипервизора создаётся новая ВМ. Для этого нужно указать параметры, такие как имя, операционная система, количество выделяемых ресурсов и другие настройки.

  • Установка операционной системы: после создания ВМ необходимо установить на неё операционную систему. Это можно сделать с помощью образа ОС, который можно загрузить с официального сайта производителя. В нашем случае Windows server 2022

  • Настройка параметров виртуальной машины: после установки ОС можно настроить параметры ВМ, такие как сетевые настройки, параметры хранения данных и другие.

  • Запуск виртуальной машины: после настройки можно запустить ВМ и начать работу с ней.

На развернутой виртуальной машине мы установили:

  1. Платформу 1С версии 8.3.27.1606.

  2. Две СУБД для сравнения: Microsoft SQL Server 2022 и PostgreSQL.

  3. Сам тест Гилева последней версии.

Наша цель — прогнать тест в трех разных средах: на SQL Server, на PostgreSQL и на классической файловой базе.

Цифры на бумаге: что показал тест

Вот результаты, которые у нас получились. Спойлер: они говорят больше о самом тесте, чем о реальной производительности.

Сценарий 1: База на Microsoft SQL Server

Мы меняли количество виртуальных CPU у машины и смотрели на результат.

  • 4 vCPU: 47.17

  • 12 vCPU: 45.45

  • 24 vCPU: 45.87

Наблюдение: Самый лучший результат тест показал при наименьшем количестве ядер! Как только мы добавили ресурсов, цифра если и выросла, то незначительно. Тест Гилева, по сути, не умеет эффективно использовать несколько потоков.

При использовании 4 потоков и Microsoft SQL результат 47.17
При использовании 4 потоков и Microsoft SQL результат 47.17
При использовании 12 потоков и Microsoft SQL результат 45.45
При использовании 12 потоков и Microsoft SQL результат 45.45
При использовании 24 потоков и Microsoft SQL результат 45.87
При использовании 24 потоков и Microsoft SQL результат 45.87

Сценарий 2: Старая добрая файловая база

Здесь мы получили рекордный показатель: 121.95

Почему так много? Потому что тест Гилева был «заточен» именно под файловые базы. Он отлично работает в вакууме, но стоит перенести эту базу на многопользовательскую реальную нагрузку, и ее производительность рухнет.

Тест Гилева на файловой базе выдал показатель в 121.95
Тест Гилева на файловой базе выдал показатель в 121.95

Сценарий 3: База на PostgreSQL

С этой СУБД тест показал самый скромный результат: 38.76

Это не значит, что PostgreSQL — плохой выбор для 1С. Это значит, что алгоритмы теста не оптимизированы под работу с этой СУБД в условиях синтетической проверки.

Тест Гилева на базе при использовании Postgresql  выдал показатель в 38.76
Тест Гилева на базе при использовании Postgresql  выдал показатель в 38.76

Главный вывод: тест лукавит

Специфика работы на виртуальных машинах

  • Заниженные результаты: на виртуальных машинах показатели теста обычно существенно ниже, чем на физическом оборудовании.

  • Нелинейная зависимость: результаты теста не коррелируют напрямую с реальной производительностью системы при работе с реальными нагрузками.

  • Влияние настроек виртуализации: различные настройки гипервизора могут значительно искажать результаты теста.

При тестировании в облачной инфраструктуре выявляются следующие проблемы:

  • Влияние виртуализации. Тест не учитывает особенности работы виртуальных машин и облачных технологий.

  • Конфигурация системы. Результаты сильно зависят от настроек гостевой ОС, СУБД и параметров виртуальной машины.

  • Масштабируемость. Тест не показывает, как система будет вести себя при увеличении нагрузки.

Так как же тестировать по-взрослому? 

Мы не предлагаем полностью отказаться от теста Гилева. Он может быть точкой входа для первичной, очень грубой оценки. Но для принятия бизнес-решений нужен комплексный подход.

Вот что мы рекомендуем нашим клиентам и делаем сами:

  1. Нагрузочное тестирование на реальных данных. Берем рабочую базу (или ее копию) и нагружаем ее работой реальных пользователей: формирование сложных проводок, отчетов и максимальной фоновой активностью.

  2. Мониторинг под нагрузкой. Смотрим не на одну «цифру Гилева», а на десятки метрик: загрузку CPU и RAM, скорость отклика дисковой подсистемы (IOPS), latency сети, время выполнения типовых операций.

  3. Оценка в боевых условиях. Самый честный тест — это пилотная эксплуатация на ограниченной группе пользователей с активным сбором метрик.

Запуская новый высокопроизводительный сервис 1С, мы могли бы просто опубликовать впечатляющую цифру теста Гилева на файловой базе и почить в лучах славы. Но мы поступили иначе: провели честный разбор и доказали, что слепая вера в синтетические тесты — это путь в никуда.

Наша цель — дать клиентам не просто виртуальную машину с высокими частотами, а гарантированно работающее и производительное решение. И для этого мы смотрим на картину в целом, а не на одну красивую цифру. Но даже по результатам теста Гилева мы можем сказать, что 1С в облаке Nubes на серверах с процессорами 4.0 ГГц буквально летает. А дополнительные проверки это подтвердили.