Тестирование скорости работы 1с. Что означают результаты теста

Ходят слухи, что 1С (самая популярная система для бухгалтерского и управленческого учета) "тормозит" в облачных инфраструктурах. Еще есть мнение, что через несколько лет, компании малого и среднего бизнеса не будут приобретать сервера для 1С, а будут арендовать их в облаках и центрах обработки данных, так как это финансово эффективнее.

Наша команда решила провести тестирование доступных конфигураций серверов и выяснить - действительно ли 1С может успешно работать на виртуальных машинах и какое облако больше подходит для ее размещения. Финансовые аспекты оставим в качестве темы для другой статьи.

Подготовка

  1. Выбираем двух провайдеров услуг для размещения виртуальных серверов.
  2. Подготавливаем идентичные машины для тестирования - одинаковое количество ядер, памяти, объем дисков и их тип. Так же, важно одинаково настроить СУБД.
  3. Проводим нагрузочное тестирование на минимальной конфигурации. Фиксируем результат.
  4. Добавляем ресурсы и повторяем шаг 3. Так до тех пор, пока ресурсы не закончатся.

Наша конфигурация для тестирования

1C Сервер и SQL Server установлены на одной машине. Включен и используется режим Shared Memory.

1С Предприятие запускаем на той же машине, где размещен сервер 1С и СУБД, чтобы устранить задержки сети и не зависеть от географического размещения ЦОД"а, в котором размещаем виртуальную машину.

Как тестируем

В качестве основы будем использовать тест от проекта www.gilev.ru

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

Теперь определимся с провайдерами. Возьмем мощности от лидера облачных решений - компании Microsoft с их облачной платформой под названием Microsoft Azure и в качестве второго провайдера будем использовать Облакотеку.

Microsoft Azure - постоянно растущая коллекция интегрированных облачных служб, которые разработчики и ИТ-специалисты используют для разработки и развертывания приложений, а также управления ими через всемирную сеть центров обработки данных. Благодаря Azure можно создавать и развертывать решения в любом месте, используя необходимые инструменты, приложения и платформы.

Azure размещается в 40 регионах по всему миру, для тестирования мы будем использовать Западную Европу, как наиболее близкий из доступных регион к нам.

На старт! Внимание! Тест!

Начнем тест с машин серии D-series v2. В частности, D1 v2 состоит из 1 ядра и 3,5 Гб оперативной памяти. Фиксируем результат:

Так как в Azure нельзя гибко добавлять ресурсы, а можно только использовать преднастроенные варианты виртуальных машин, переводим тестовый образец на D2 v2, в котором 2 ядра и 7 Гб оперативной памяти. Запускаем.

Все фото экранов с тестом Гилева приведены в галерее ниже. Там же опубликованы результаты теста 1С в файловом режиме - данные получены нами только для формирования общей картины, потому что, данный режим работы 1С не очень интересен предприятиям с числом пользователей более пяти человек.

Тариф Ядра Память Оценка комфорта Пользователей
B4ms 4 16 15,34 14
D1 v2 1 3,5 17,92 21
D2 v2 2 7 19,46 28
D2s v3 2 8 8,45 14
D3 v2 4 14 18,25 56
D4 v2 8 28 19,23 91
D4s v3 4 16 15,53 42
E2s v3 2 16 10,04 21
E4s v3 4 32 12,38 49
F4s 4 8 20,49 70
F8s 8 16 20,83 84
G1 2 28 13,26 56
L4s 4 32 17,67 56
L8s 8 64 15,82 98

"Оценка комфорта" - условная оценка быстродействия системы, включающая оценку частоты центрального процессора, количество ядер, частоту работы оперативной памяти и скорость работы дисковой системы. Показатель от 0 до 10 - плохо, 10 - 15 - удовлетворительно, 15 - 35 - хорошо, 35 - 60 - замечательно.

"Пользователей" - показатель характеризующий количество пользователей, одновременно и активно работающих с 1С Предприятие, не приводящее к деградации производительности. Другими словами, работать могут и большее число сотрудников, но, если они начнут одновременно выполнять какие-либо операции (а в большинстве случаев - это маловероятно), то быстродействие системы может ухудшиться.

Выводы

Проведя замеры на виртуальных машинах Azure в различных вариациях ядра/память, мы пришли к следующим выводам:

  1. Для работы 1С в клиент-серверном режиме с Microsoft SQL Server наиболее подходят машины F-серии и D-серии.
  2. Дисковая подсистема Azure Premium-класса (SSD-диски) не создает ограничений скорости работы 1С.
  3. Microsoft Azure прекрасно подходит для размещения 1С Предприятие.
Стоит сказать, что рассматривать тот или иной облачный сервис отдельно от денег - немного однобоко. Мы подготовим отдельную статью на тему финансовой эффективности такого подхода к развитию инфраструктуры предприятия.

Предыстория

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

Большинство существующих методов оценки производительности основывается на том
или ином типе тестирования .

Можно выделить два основных типа тестирования:
компонентное и интегральное.

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

Интегральный подход характеризуется оценкой
производительности решения в целом, как его программной, так и аппаратной частей.
При этом может использоваться как бизнес-приложение, которое будет использовано
в конечном решении, так и некоторые модельные приложения, эмулирующие
некоторые стандартные бизнес-процессы и нагрузки.

Тесты TPC и другие универсальные тесты позволяют выбрать наиболее перспективные платформы и сравнивать между собой предложения различных производителей, но являются лишь справочной информацией, не учитывающей специфики бизнеса. Специализированные тесты позволяют точнее выбрать конкретную модель сервера и его конфигурацию. Однако наиболее обоснованные решения принима ются только на основе результатов проведения нагрузочных тестов. Только они позволяют оптимально сконфигурировать выбранную
серверную платформу и провести ее настройку на максимальную производительность.

Что такое TPC -1C-GILV

Это серия независимых тестов, предназначенных для оценки быстродействия платформы 1С:Предприятие 8.1 на вашем компьютере (ах).

Разумеется, "независимый" тест означает, что он не спонсируется фирмой 1С.

В настоящее время доступен тест "TPC -A-local Throughput / TPC -1C-GILV-A" (последнее обновление - август 2008г. версия 1.0.3)

Идея теста TPC -A-local Throughput / TPC -1C-GILV-A

Вы скачиваете с данного сайта файл выгрузки конфигурации (~400 Кб) и загружаете у себя. Если развернете конфигурацию в файловых вариант, то в значительной степени тест будет тестировать связку "CPU вашего компьютера - HDD где лежит база".

Если развернете конфигурацию в клиент-серверный вариант, то преимущественно нагрузке подвергнуться CPU сервера приложений - CPU сервера субд - - сервера субд.

В тесте выполняется интенсивная запись 5000 документов. Глубокого смысла в бизнес-логике кода нет, оцениваться просто условно выбранная за эталон производительность документа Х.

Главная прелесть теста в том, что Вам не надо знать технических подробностей. Тест выполняется сам и сам выдает оценку. К тому же результат кому сообщать Вам тоже не обязательно:)

Вы можете сравнить производительность нескольких серверов, или одного сервера с разными характеристиками дисковой подсистемы.

Выполняя тест с сервера приложений и с клиента по сети можно понять влиятие сети на участке от клиента до сервера.

Как запустить тест

Запустить тест очень просто. Надо нажать кнопку

и дождаться пока индикатор теста (справа от кнопки) достигнет 100%.

Обычно тест длится около 8 минут.

Что означают результаты теста

Результат теста представляется как "скорость записи" данных теста. Погрешность теста составляет 2 единицы. Для точной оценки можно повторить тест 3 раза.

После того, как индикатор теста достигнет 100% вы увидите примерно такие графики:

Ниже графиков расположены некоторые ранее проведенные аналогичные тесты.

Цвет графика подсказывает о текущем качестве "общей" производительности для работы без учета блокировок.

Зеленый цвет графика в совокупности с некоторыми условно выбранными за эталоны показателями справа позволяет сделать кроссплатформенную обобщенную оценку "неплохой" производительности:)

Как радоваться результатам теста

Вы получили в качестве результата некий индекс производительности (считай скорости). Не важно, хороший или плохой результат - это результат работы ПЛАТФОРМЫ на вашем "железе". В случаи клиент - серверного варианта это результат . Вы получаете общий фактический результат, который определяется САМЫМ УЗКИМ МЕСТОМ в системе. УЗКОЕ МЕСТО ЕСТЬ ВСЕГДА!

Другими словами, и настройки СУБД, и настройки ОС, и оборудование оказывают влияние на общий командный результат:)

Какой сервер лучше

Данный тест, выполненный на конкретном сервере, дает результат по совокупности настроек hardware, операционной системы, субд и т.д. Тем не менее высокий результат на конкретном серверном оборудовании означает, что при соблюдении нормальных условий такой же результат будет на идентичном серверном оборудовании. Данный тест является бесплатной помощью в возможности сравнить установку 1С:Предприятие под Windows и Linux, три различных СУБД, поддерживаемых платформой 1С:Предприятие 8.1 .

Безопасность теста

Тест абсолютно безопасен. Он не приводит к "падению" сервера (отсутствует "стресс"-алгоритм) и не требует предварительных мероприятий даже на "боевом" сервере. Конфиденциальных данных в результаты теста также не записываются. Собирается информация о параметрах CPU, RAM, HDD. Серийные номера устройств не собираются. Во всем этом можно легко убедиться - код теста 100% открыт. Никакой пересылки информации без вашего ведома невозможно.

Как опубликовать результаты теста

Если Вы хотите помочь развивать тест, вы можете выполнить ряд тестов на своих серверах. Затем общего перечня сделанных тестов оставьте только те, что хотите опубликовать и пришлите dt-выгрузку с результатами.

Данные будут вручную проверены (что они не являются ошибочными), в колонку "автор" тестов добавляется адресат тестов и добавляются в выгрузку, доступную для скачивания всем.

Классификация TPC -A-local Throughput / TPC -1C-GILV-A

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

Универсальность позволяет делать обобщенную оценку производительности не привязываясь к конкретной типовой конфигурации платформы.

С другой стороны это означает, что для точных расчетов заказного проекта тест позволяет сделать предварительную оценку перед специализированным нагрузочным тестированием (например с помощью 1С:Тестцентр).

Примечание. Модификация теста "A " означает "автоматическое управлением блокировками" . После выхода официальных версий типовых решений от 1С, планируется модифицировать тест для работы в режиме "управляемых блокировок" и обозначить буквой "M ".

Скачать тест

Данный тест не является коммерческим и .

Результаты тестирования

Топ - 3 лучших клиент-серверных инсталляций 1С на MS SQL Server. Вы тоже можете попасть в эту таблицу. Подробнее можно посмотреть результаты, скачав тест.

Технические подробности

Что происходит в тесте в рамках "одного" такта операции?

Как замерить загруженность железа

Надо отметить, что сам по себе тест уже частично выполняет замер. Для более детальной картины рекомендую воспользоваться утилитой Марка Русиновича .

На рисунке показан пример замера для файлового варианта.

Контакты для TPC -1C-GILV

http://сайт/1c/tpc

результаты тестов, предложения о развитии

Реализация инфраструктуры 1С на базе Linux тема древняя, но до сих пор актуальная. Мы недавно публиковали статью Сервер приложений 1С на Linux , но остался открытым вопрос реальной производительности в сравнении с решением под Windows. Тестирование проводилось и в ручном режиме, но для объективности результатов я опубликую итоги теста Гилева , прошедшего на одной и той же аппаратной платформе с использованием разных ОС: Linux CentOS 7 и MS Windows Server 2012.

В качестве сервера использовался стенд с двумя процессорами Intel Xeon E5-2670, 8х4Гб ОЗУ и SSD Intel.

Сводная таблица средних значений результатов теста Гилева.

Примеры результатов







Приемлемые результаты тестирования, простота развёртывания и низкие затраты на лицензирование, побудили нас создать законченный продукт: Сервер 1С на базе Linux из коробки.

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

Создание калькулятора вычислительной мощности сервера 1С - задача не тривиальная. А создание универсального конфигуратора 1С под все возможные случаи - практически невозможная.

Наверняка на хабре много админов, у которых своё представление о нагрузке и требованиям к вычислительной мощности серверов под 1С (Ваши комментарии повысят ценность этой статьи). Есть и официальные рекомендации 1С, в которых будет работать всё на всём…

Но всё таки есть основные параметры, которые можно просчитать, применимо к типовой схеме эксплуатации. Зная сколько ресурсов процессора и оперативной памяти отнимает терминальная сессия, какое количество IOPS затребует SQL при определённом количестве пользователей, и отталкиваясь от результатов многочисленных тестов - мы разработали конфигуратор типового решения под 1С.

Безусловно каждый случай уникален и требует детального пресейла, но для ориентировочного расчета достаточно указать количество пользователей, тип базы, объём текущей базы и выбрать необходимые лицензии.

Для сравнения стоимости готового решения на базе Linux и Windows, приведу пример из конфигуратора с розничными ценами.

Сервер на 20 пользователей с базой SQL до 80Гб, лицензией 1С: Бухгалтерия 8 ПРОФ, на базе Linux CentOS будет стоить 522 759,43 руб. Аналогичная конфигурация на базе Windows - 1 036 279,43 руб.

Модельный ряд серверов для 1С STSS Flagman состоит из 3 моделей как для Linux, так и для Windows.


1C113.5-020UL - сервер 1С начального уровня, поддержка до 20 пользователей с базой SQL. Объём дискового пространства рассчитывается с учётом роста базы на 20% в год в течение 3 лет. Массив RAID1 строится на основе Enterprise SSD Intel. Возможна установка двойного БП и дополнительных дисков под «холодные» данные. Доступен выбор программных сервисов: PostgreSQL, xrdp и httpd.

1C216.4-200UL - модель на базе 2-процессорной платформы обеспечивающая работу 1C-инфраструктуры до 200 одновременных подключений. Хранилище рассчитывается по такому же принципу - размер базы с учётом роста, но строится на основе массива RAID10 из 4хSSD необходимого объёма.

1C217.2-050UL-REF - это решение для заказчиков с ограниченным бюджетом, построено на базе сервера восстановленного на нашем производстве (после гарантийной замены, демо-фонд и пр.) Серверы проходят такие же нагрузочные тесты перед отгрузкой, как и новые модели, но имеют сокращённый срок гарантийного обслуживания (1 год). Сервер поддерживает до 50 подключений и, без учёта лицензий, стоит всего 203 705,00 руб., с массивом под базу 40Гб.


1C113.5-020UW - сервер 1С начального уровня, поддержка до 20 пользователей с базой SQL. Объём дискового пространства рассчитывается с учётом роста базы на 20% в год в течение 3 лет. Массив RAID1 строится на основе Enterprise SSD Intel. Возможна установка двойного БП и дополнительных дисков под «холодные» данные.

1C216.4-200UW - модель на базе Windows с поддержкой до 200 пользователей. Хранилище строится на основе массива RAID10 из 4хSSD необходимого объёма.

1C217.2-050UW-REF - та же платформа, что и в решении на базе Linux. Бюджетный вариант на 50 подключений, гарантия 1 год.

В качестве платформы 1С во всех моделях можно выбрать следующие лицензии:

1С: Управление небольшой фирмой 8 ПРОФ
1С: Управление торговлей 8 ПРОФ
1С: Бухгалтерия 8 ПРОФ
1С: Бухгалтерия 8 КОРП
1С: Зарплата и управление персоналом 8 ПРОФ
1С: Зарплата и управление персоналом 8 КОРП
1С: Документооборот 8 ПРОФ
1С: Документооборот 8 КОРП

Если заказчик обладает достаточной экспертизой для подбора сервера под 1С, он может воспользоваться классическими моделями серверного оборудования . Но если подобной экспертизы нет, то, надеюсь, наш конфигуратор серверов для 1С поможет Вам сделать оптимальный выбор системы.

Спасибо за внимание! Надеюсь, что хабра-пользователи близкие к этой теме поделятся своим опытом в подборе оборудования под 1С в комментариях.

ИГОРЬ ЧУФАРОВ , начальник отдела интегрированных автоматизированных систем АО «Радиозавод», [email protected]

40 баллов в тесте Гилева –
миф или реальность?

Вокруг теста Гилева продолжаются бурные обсуждения, в том числе основанные на противоречивых результатах. Поделюсь своим опытом использования данного инструмента

Истоки неоднозначности

Впервые столкнувшись с тестом Гилева, многие специалисты удивляются нехарактерным результатам, которые получаются с его помощью. Например, десктопное железо может показывать более высокие результаты, чем дорогой мощный сервер. Файловая версия получает более высокий рейтинг, чем SQL. И если со вторым казусом все более или менее понятно, это объясняется и в документации к тесту, и в многочисленных обсуждениях на форумах, то из относительно низких результатов на дорогом серверном оборудовании однозначных выводов пока что никто не сделал.

Прежде чем проинформировать о полученных результатах, стоит пару слов упомянуть о самом тесте Гилева, рассказать, что же это такое.

Под именем «Тест Гилева» подразумевается нагрузочный тест TPC-1C, доступный для свободного скачивания по адресу .

Известные результаты

В источнике приводятся интересные результаты сравнения сервера на базе 2*Intel Xeon E5620 2,4 Ghz с 48 Гб оперативной памяти и персонального компьютера на Intel Core i5 3,0 Ghz с 16 Гб ОЗУ. Без дополнительных настроек иухищрений, что называется «из коробки», рабочая станция «порвала» сервер в тесте Гилева, показав на 155% более высокую производительность.

Сервер набрал примерно 17 баллов, в то время как десктоп – более 40. В результате экспериментов (большая часть из которых заключалась в урезании ресурсов десктопа, чтобы определить, насколько от этого деградирует результат теста) инастройки сервера авторам статьи удалось добиться 25,6 балла.

Результат, прямо скажем, далекий от 40 на обычном системном блоке. Так что же, сервер 1С лучше разворачивать на бюджетном железе, купленном в ближайшем киоске? Конечно же нет.

Обсуждение на Infostart Event 2016

За несколько дней до моей поездки на конференцию Infostart Event 2016 в Санкт-Петербург на сайте курсы-по-1с.рф появилось интересное двухчасовое видео о работе системы 1С:Предприятие в виртуализованных средах, подборе оборудования и вопросах производительности .

На конференции Infostart Event 2016 предполагалось выступление автора данного вебинара Андрея Бурмистрова – 1С-эксперта по технологическим вопросам крупных внедрений, работавшего как в фирме «1С», так и на многих крупных внедрениях в нашей стране, наставника более 2000 специалистов по курсу «Оптимизация производительности 1С» и подготовке к 1С:Эксперт.

На волне интереса к теме я пообщался с Андреем как виртуально, так и впоследствии на самой конференции. Один из вопросов, который я ему задал в ходе круглого стола НighLoad, касался возможности выпуска вебинара с референсным тестированием различных вариантов серверного оборудования – с SSD, с обычным жестким диском, в различной конфигурации оборудования. Ответ звучал примерно так: «Спасибо, идея интересная. Может быть, сделаем. Просто дайте нам Intel P3700, P3600, и мы с радостью его протестируем. Это не так просто раздобыть где-то на тестирование на неделю SSD».

Так вот, оказалось, что именно своими глазами практически никто из моих собеседников не видел больше 30 баллов в режиме SQL, а те, кто видел, отмечали, что это было не на серверном оборудовании.

Замкнутый круг? Назрел нешуточный вопрос: «40 баллов в тесте Гилева на серверном оборудовании в режиме SQL – миф или реальность?»

Статью целиком читайте в журнале «Системный администратор», №5 за 2017 г. на страницах 10-15.

PDF-версию данного номера можно приобрести в нашем

Система 1С занимает доминирующее положение на рынке автоматизации малого и среднего бизнеса. Если компания выбрала учетную систему 1С, то обычно в ней работают практически все сотрудники, начиная от рядовых специалистов и заканчивая руководством. Соответственно, от скорости работы 1С зависит скорость бизнес-процессов компании. Если 1С работает с неудовлетворительной скоростью, то это напрямую сказывается на работе всей компании и на получении прибыли.

Фактически существует три метода ускорения 1С:

  • Увеличение аппаратных мощностей.
  • Оптимизация настроек операционной системы и СУБД.
  • Оптимизация кода и алгоритмов в 1С.

Первый метод требует покупки оборудования и лицензий, третий - больших трудозатрат программистов и, как следствие, оба пути выливаются в значительные финансовые затраты. В первую очередь нужно обратить внимание на программный код, так как никаким увеличением мощностей сервера невозможно компенсировать неверный код. Любой программист знает, что с помощью всего нескольких строчек кода возможно создать процесс, который полностью загрузит ресурсы любого сервера.

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

Компания 1С на вопрос о том, сколько нужно ресурсов, дает достаточно расплывчатый ответ, о нем мы писали ранее в наших постах. И поэтому приходится самостоятельно проводить эксперименты и разбираться, от чего же зависит производительность 1С. Ниже описаны эксперименты с производительностью программы в компании EFSOL.

При работе с 1С 8.2, особенно с конфигурациями, которые используют управляемые формы, был замечен странный факт: 1С работает быстрее на рабочей станции нежели на мощном сервере. Причем все характеристики рабочей станции хуже, чем у сервера.



Таблица 1 - Конфигурации, на которых проводилось первоначальное тестирование

Рабочая станция показывает производительность на 155% больше, чем сервер 1С с превышающими характеристиками. Мы начали разбираться, в чем дело и сужать круг поисков.

Рисунок 1 – Замеры производительности на рабочей стации тестом Гилева

Первое подозрение было, что тест Гилева неадекватен. Замеры открытия форм, проведения документов, формирования отчетов и т.д инструментами КИП показали, что тест Гилева выдает оценку пропорциональную реальной скорости работы в 1С.

Количество и частота ОЗУ

Анализ доступной в интернете информации показал, что многие пишут о зависимости производительности 1С от частоты памяти. Именно от частоты, а не от объема. Решили проверить эту гипотезу, так как у нас на сервере частота ОЗУ 1066 Mhz против 1333 Mhz на рабочей станции, а объем ОЗУ на сервере и так значительно выше. Решили поставить сразу не 1066 Mhz, а 800 Mhz для того, чтобы эффект зависимости производительности от частоты памяти был нагляднее. Результат – производительность упала на 12% и составила 39,37 единиц. На сервер поставили память с частотой 1333 Mhz вместо 1066 Mhz и получили незначительный прирост производительности – около 11%. Производительность составила 19,53 единицы. Соответственно, дело не в памяти, хотя ее частота дает небольшой прирост.

Рисунок 2 – Замеры производительности на рабочей станции после понижения частоты ОЗУ


Рисунок 3 – Замеры производительности на сервере после повышения частоты ОЗУ

Дисковая подсистема

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

  • SSD лучше, чем SAS диски, пусть даже они в 10 рейде.
  • iSCSI работает медленно или некорректно.

Поэтому в рабочую станцию поставили обычный SATA-диск вместо SSD, то же самое сделали и с сервером – базу разместили на локальном SATA-диске. В результате, замеры производительности никак не изменились. Скорее всего, это происходит, поскольку есть достаточное количество ОЗУ и диски практически никак не задействованы при выполнении теста.

Процессор

Процессоры на сервере, конечно, мощнее и их два, но частота немного ниже, чем на рабочей станции. Решили проверить влияние частоты процессора на быстродействие: для сервера процессоров с большей частотой под рукой не оказалось, поэтому снизили частоту процессора на рабочей станции. Снизили сразу до 1,6, чтобы корреляция проявлялась ярче. Тест показал, что производительность упала значительно, но даже с процессором 1,6 рабочая станция выдавала почти 28 единиц, что практически в 1,5 раза больше чем на сервере.

Рисунок 4 – Замеры производительности на рабочей стации с процессором 1,6 Ghz

Видеокарта

В интернете встречается информация о том, что на производительность 1С может влиять видеокарта. Мы пробовали использовать интегрированное видео рабочей станции, профессиональный адаптер Nvidia NVIDIA® Quadro® 4000 2 Gb DDR5, старую видеокарту GeForce 16MbSDR. Во время проведения теста Гилева какой-либо значительной разницы не заметили. Возможно, видеокарта все-таки влияет, но в реальных условиях, когда нужно открывать управляемые формы и т.д.

В данный момент существует два подозрения, почему рабочая станция работает быстрее даже с заметно худшими характеристиками:

  1. Процессор. Тип процессора на рабочей станции лучше подходит 1С.
  2. Чипсет. При прочих равных условиях наша рабочая станция имеет более новый чипсет, возможно, дело в нем.

Мы планируем закупить необходимые комплектующие и продолжить тесты, чтобы окончательно выяснить, от чего же в большей степени зависит производительность 1С. Пока идет процесс согласования и закупки, мы решили выполнить оптимизацию, тем более, что это ничего не стоит. Были выделены следующие этапы:

Этап 1. Настройка системы

Для начала выполним следующие настройки в BIOS и операционной системе:

  1. В BIOS сервера отключаем все настройки по экономии электропитания процессора.
  2. Выбираем в операционной системе план «Максимальная производительность».
  3. Процессор также настраиваем на максимальную производительность. Это можно сделать с помощью утилиты PowerSchemeEd.

Этап 2. Настройка SQL сервера и сервера 1С:Предприятия

Вносим следующие изменения в настройки сервера СУБД и 1С:Предприятия.

  1. Настройка протокола Shared Memory:

    • Shared Memory включится только на платформе начиная с 1С 8.2.17, на более ранних релизах включится Named Pipe – несколько уступающий в скорости работы. Данная технология работает только если службы 1С и MSSQL установлены на одном физическом или виртуальном сервере.
  2. Рекомендуется перевести службу 1С в режим отладки, как не парадоксально это дает прирост производительности. По умолчанию отладка на сервере выключена.
  3. Настройка SQL сервера:

    • Нам нужен только сервер, остальные службы, которые к нему относятся и, возможно, кто-то ими пользуется, только тормозят работу. Останавливаем и отключаем такие службы как: FullText Search (у 1С собственный механизм полнотекстового поиска), Integration Services и т.д.
    • Устанавливаем максимально отведенное серверу количество памяти. Это необходимо для того, чтобы sql-сервер рассчитывал на этот объем и чистил память заблаговременно.
    • Устанавливаем максимальное количество потоков (Maximum worker threads) и выставляем повышенный приоритет сервера (Boost priority).

Этап 3. Настройка рабочей базы данных

После того, как сервер СУБД и 1С:Предприятия оптимизированы, переходим к настройкам баз. Если база еще не развернута из.dt файла, и вы знаете примерный ее размер, то первичному файлу размер инициализации лучше сразу указать «>=» размера базы, но это дело вкуса, он все равно вырастет при развертке. А вот Автоувеличение размера надо обязательно указать: примерно по 200 МБ на базу и по 50 МБ на лог, т.к. значения по умолчанию – рост по 1МБ и по 10% очень сильно тормозят работу сервера, когда ему при каждой 3й транзакции надо файл увеличивать. Также хранение файла базы и файла лога лучше указать на разных физических дисках или RAID группах, если используется RAID массив, и ограничить разрастание лога. Рекомендуется выносить файл Tempdb на высокоскоростной массив, так как СУБД к нему довольно часто обращается.

Этап 4. Настройка регламентных заданий

Регламентные задания создаются довольно просто с помощью Maintenance Plan в разделе Management, используя графические инструменты, поэтому подробно описывать, как это делается не будем. Остановимся на том, какие операции необходимо выполнять для повышения производительности.

  • Дефрагментацию индексов и обновление статистики нужно производить ежедневно, т.к. если фрагментированность индексов > 25%, это резко снижает производительность сервера.
  • Дефрагментация и обновление статистики - делается быстро и не требует отключения пользователей. Также рекомендуется делать ежедневно.
  • Полная реиндексация – делается с блокировкой БД, рекомендуется делать хотя бы раз в неделю. Естественно, после полной переиндексации сразу же делается дефрагментация индексов и обновление статистики.

В итоге, с помощью тонких настроек системы, SQL сервера и рабочей базы, нам удалось повысить производительность на 46%. Замеры были проведены с помощью инструмента 1С КИП и с помощью теста Гилева. Последний показал 25,6 единиц против 17,53 которые были изначально.

Краткий вывод

  1. Производительность 1С не сильно зависит от частоты ОЗУ. При достижении достаточного ее объема дальнейшее наращивание памяти не имеет смысла, так как не приводит к увеличению производительности.
  2. Производительность 1С не зависит от видеокарты.
  3. Производительность 1С не зависит от дисковой подсистемы при условии, что не происходит превышения очереди чтения или записи дисков. Если установлены SATA диски и у них не превышена очередь, то установка SSD не приведет к повышению производительности.
  4. Производительность довольно сильно зависит от частоты процессора.
  5. При грамотной настройке операционной системы и MSSQL-сервера возможно добиться увеличения производительности 1С на 40-50% без каких-либо материальных затрат.

ВНИМАНИЕ! Очень важный момент! Все замеры были выполнены на тестовой базе с использованием теста Гилева и инструментов 1С КИП. Поведение реальной базы с реальными пользователями может отличаться от полученных результатов. Например, в тестовой базе мы не обнаружили зависимости производительности от видеокарты и объема ОЗУ. Данные выводы достаточно сомнительны и в реальных условиях эти факторы могут оказывать существенное влияние на производительность. При работе с конфигурациями, использующими управляемые формы, видеокарта важна и мощный графический процессор ускоряет работу с точки зрения прорисовки интерфейса программы, визуально это проявляется в более быстрой работе 1С.

Ваша 1С работает медленно? Закажите ИТ-обслуживание компьютеров и серверов специалистами компании EFSOL с многолетним стажем или перенесите свою 1С на мощный и отказоустойчивый виртуальный сервер 1С .

Системная интеграция. Консалтинг