Стандартный нагрузочный тест. Стандартный нагрузочный тест Что оценивает тест

Предыстория

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

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

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

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

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

Тесты 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

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

Текущая версия: 2.0.011. История версий здесь: versions.php

Скачать можно здесь: http://infostart.ru/public/173394/ или здесь: perfomanceTest.cf

Тест позволяет измерить производительность связки сервер 1с — сервер СУБД в различных вариантах в режиме многопоточной работы. Тест выполняется 20-30 минут.

Не запускайте тест на сервере, на котором в данный момент работают пользователи, а то им станет грустно! Тест дает очень большую нагрузку!

Результаты тестирования можно посмотреть отчетом внутри конфигурации.

Нагрузочный тест TPC-1C Гилева

Также можно обменяться результатами с другими людьми, выполнившими тест с помощью обработки «обмен результатами». После обмена можно будет сравнить свои результаты с результатами других людей.

Более подробная инструкция, а также обсуждение теста находится на странице http://infostart.ru/public/173394/.

Всего в базе 751 результатов, последнее обновление от 2018-06-15 06:33:26. Результаты можно посмотреть, скачав тест и запустив обмен результатами, или (в упрощенном виде) здесь: results.php

Статистика

Результаты версии 1.х: index_old.php

Для построения диаграмм используется c3js и d3js (от него зависит c3js).

heavenly

20.02.13 — 15:59


КА 1.1.28.1



Итог 8.3 балла.


smitru

1 — 20.02.13 — 16:00

ansh15

2 — 20.02.13 — 16:08

(0)Старая тема

heavenly

3 — 20.02.13 — 16:14

Xeon X3450 2.67GHz
2x4Gb DDR3

Адимр

4 — 20.02.13 — 16:21

smitru

5 — 20.02.13 — 16:34

heavenly

6 — 20.02.13 — 16:43

Иде я?

7 — 20.02.13 — 16:44

Использовать встроенный в материнку RAID контроллер?

Тестирование производительности 1С

или покупать внешний?

smitru

8 — 20.02.13 — 16:45

Fragster

10 — 20.02.13 — 16:49

Тест Гилева однопоточный

Fragster

11 — 20.02.13 — 16:50

heavenly

12 — 20.02.13 — 16:51


Demiurg

13 — 21.02.13 — 07:30


el-gamberro

14 — 21.02.13 — 08:05

heavenly

15 — 21.02.13 — 09:47


heavenly

16 — 21.02.13 — 09:49

Наведи порядок в своей работе используя конфигурацию 1C "Управление IT-отделом 8"

ВНИМАНИЕ! Ctrl-F5 или Ctrl-R


2000 человек.

Предыстория

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

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

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

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

Нагрузочное тестирование

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

Тесты 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 сервера субд — HDD — сервера субд.

В тесте выполняется интенсивная запись 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. Вы тоже можете попасть в эту таблицу. Подробнее можно посмотреть результаты, скачав тест.

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

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

Пример исполнения sql-команд можно посмотреть в приложенном файле.

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

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

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

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

http://gilev.ru/1c/tpc

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

и отзывы присылайте на e-mail: [email protected]

Перейти к другим материалам сайта

heavenly

20.02.13 — 15:59

Есть сервер на CentOS 6.3 c 64-битным Postgresql 8.4, на нем же установлен 32-разрядный сервер 1С 8.2.16.368 *денег на 64битный ключик не было*
КА 1.1.28.1

Скачал тест Гилева в виде файлика dt.
Создал на этом сервере новую базу, залил в нее этот файлик.
С компьютера клиента захожу в эту базу и запускаю тест.
Итог 8.3 балла.

Попробовал в этой базе менять Режим совместимости, Режим управления блокировкой данных — результат тот же.
Файлик postgresql оттюнингован.

Или же этот тест надо запускать на самом сервере?

smitru

1 — 20.02.13 — 16:00

(0)У Гилева есть свой форум. Там не пробовал вопрос задать?

ansh15

2 — 20.02.13 — 16:08

(0)Старая тема
v8: Производительность сервера 1с
Опять же, что называть сервером…

heavenly

3 — 20.02.13 — 16:14

Xeon X3450 2.67GHz
2x4Gb DDR3
2xSATA2 7200 в софтовом зеркальном рейде

Адимр

4 — 20.02.13 — 16:21

(0) http://infostart.ru/public/147259/

smitru

5 — 20.02.13 — 16:34

(3) «в софтовом зеркальном рейде»

Афигет… и после этого есть нарекания на тормоза????

heavenly

6 — 20.02.13 — 16:43

(5) вроде софтовый рейд дает совсем маленький оверхед… а что предлагаете делать? Использовать встроенный в материнку RAID контроллер? или покупать внешний?

Иде я?

7 — 20.02.13 — 16:44

Использовать встроенный в материнку RAID контроллер? или покупать внешний?
А если контроллер сдохнет? Либо запасную материнку иметь либо два внешних

smitru

8 — 20.02.13 — 16:45

(6) аппаратный полюбас лучше (только он даёт реально ускорение чтения и не тормозит запись как софтовый)

А так — нужно разносить НА РАЗНЫЕ ЗЕРКАЛА файлы данных, систему, пэйдж файл, темп дб (последние не зеркала класть лишнее, но на отдельные девайсы — полезно)

Fragster

10 — 20.02.13 — 16:49

Тест Гилева однопоточный

Fragster

11 — 20.02.13 — 16:50

(5) именно зеркальный рейд (1 и 10) мало тормозит

heavenly

12 — 20.02.13 — 16:51

(7) исходя из этих соображений и был выбран софтовый рейд.

(8) спасибо за комментарий, но… данный сервер стоит в небольшой фирме на 5-10 пользователей с небольшим числом документов в день. Насколько оправдано разнесение файлов по дискам, да и еще покупка новых дисков?

Demiurg

13 — 21.02.13 — 07:30

(1) зачем спрашивать у специалистов, которые каждый день занимаются производительностью, когда есть миста? :)))
(0) просто хочется пообщаться, хотел бы решить проблему, давно бы обратился

el-gamberro

14 — 21.02.13 — 08:05

Я вот тоже не понял какое это ношение к 1С имеет?

heavenly

15 — 21.02.13 — 09:47

(14) как бы тема в разделе IT, а не 1С.
(13) не стоит оно 50 тыс руб.
А вообще косяк в самом тесте, поскольку он рассчитан на автоматические блокировки, а не управляемые.

heavenly

16 — 21.02.13 — 09:49

Осталось только вспомнить где про это читал…

TurboConf 5 — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ!

Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

В рамках изучения возможности предоставления в аренду выделенных серверных мощностей не только для web-индустрии, но и для размещения разного рода информационных и учетных систем, нами была предпринята попытка качественной оценки производительности на примере функционирования в выделенной среде сервера приложений 1С версий 8.2 и 8.3 в связке CentOS 6.4+ PostgreSQL 9.1.2-1.1С, все программные компоненты (x_64).

В качестве физической платформы был взят сервер HP ProLiant DL120 G7 (CPU Intel Xeon E3-1230, 8 GB , 2 жестких диска SATA HP MB0500EBZQA без RAID), скорость интернет- соединения с сервером 100 Мбит/с, скорость соединения клиента варьировалась от 5 до 12 Мбит/с.

После ознакомления с многочисленными материалами и дискуссиями на различных интернет-ресурсах (таких как http://www.infostart.ru , www.3nity.ru , www.mista.ru , www.ixbt.com и др.), посвященных вопросам производительности приложений 1С в клиент-серверном варианте, было решено использовать свободно распространяемый тест В. Гилева (http://www.gilev.ru/tpc1cgilv/), результаты выполнения которого позволяют проводить качественное сравнение различной совокупности серверов и их компонентов, ОС, СУБД и версий серверов приложений 1С, с целью определения оптимальной конфигурации всего комплекса, в том числе и в ценовом диапазоне.

Результаты тестирования представлены на скриншотах:

Следует отметить достаточно заметное уменьшение результата теста на платформе 1С версии 8.3.3 (для версии 8.2.18 при прочих равных условиях количество баллов равнялось 60), что, видимо, связано с различием выполнения программного кода на разных платформах. Клиентская часть функционировала в режиме обычного приложения (толстый клиент).

Также была протестирована возможность многопоточной работы на примере следующего теста (http://infostart.ru/public/173394/). Этот тест позволяет оценить примерное количество одновременно работающих пользователей, при котором время отклика системы еще остается допустимым.

Фото Алены Туляковой, ИА «Клерк.Ру»

В статье указаны основные ошибки, которые совершают начинающие администраторы 1С, и показаны способы их решения на примере теста Гилева.

Основная цель написания статьи — чтобы не повторять очевидные нюансы тем администраторам (и программистам), которые еще не набрали опыта с 1С.

Вторичная цель, если у меня будут какие-то недочеты, — на Инфостарте мне это укажут быстрее всего.

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

На Инфостарте подобные статьи есть, в соответствующих разделх буду ставить на них ссылки (если пропущу что-то - просьба подсказать в комментариях, добавлю). Итак, предположим у вас тормозит 1С. Как диагностировать проблему, и как понять кто виноват, администратор или программист?

Исходные данные:

Тестируемый компьютер, основной подопытный кролик: HP DL180G6, в комплектации 2*Xeon 5650, 32 Gb, Intel 362i , Win 2008 r2. Для сравнения, сопоставимые результаты в однопоточном тесте показывает Core i3-2100. Оборудование специально взял не самое новое, на современном оборудовании результаты заметно лучше.

Для тестирования разнесенных серверов 1С и SQL, сервер SQL: IBM System 3650 x4, 2*Xeon E5-2630, 32 Gb, Intel 350, Win 2008 r2.

Для проверки 10 Gbit сети использовались Intel 520-DA2 адаптеры.

Файловая версия. (база лежит на сервере в расшаренной папке, клиенты подключаются по сети, протокол CIFS/SMB). Алгоритм по шагам:

0. Добавляем на файловый сервер тестовую базу Гилева в ту же папку, что и основные базы. С клиентского компьютера подключаемся, запускаем тест. Запоминаем получившийся результат.

Подразумевается, что даже для старых компьютеров 10 летней давности (Pentium на 775 socket) время от нажатия на ярлык 1С:Предприятие до появления окна базы должно пройти меньше минуты. (Celeron = медленная работа).

Если у Вас компьютер хуже, чем пентиум на 775 socket с 1 гб оперативной памяти, то я Вам сочувствую, и комфортной работы на 1С 8.2 в файловой версии Вам будет добиться тяжело. Задумайтесь или об апгрейде (давно пора), или о переходе на терминальный (или web, в случае тонких клиентов и управляемых форм) сервер.

Если компьютер не хуже, то можно пинать администратора. Как минимум — проверить работу сети, антивируса и драйвера защиты HASP.

Если тест Гилева на этом этапе показал 30 "попугаев" и выше, но рабочая база 1С все равно работает медленно - вопросы уже к программисту.

1. Для ориентира, сколько же может "выжать" клиентский компьютер, проверяем работу только этого компьютера, без сети. Тестовую базу ставим на локальный компьютер (на очень быстрый диск). Если на клиентском компьютере нет нормального ССД, то создается рамдиск. Пока, самое простое и бесплатное — Ramdisk enterprise .

Для тестирования версии 8.2 вполне достаточно 256 мб рамдиска, и! Самое главное. После перезагрузки компьютера, с работающим рамдиском, на нем должно быть свободно 100-200 мб. Соответственно, без рамдиска, для нормальной работы свободной памяти должно быть 300-400 мб.

Для тестирования версии 8.3 рамдиска 256 мб хватит, но свободной оперативной памяти надо больше.

При тестировании нужно смотреть на загрузку процессора. В случае, близком к идеальному(рамдиск), локальная файловая 1с при работе загружает 1 ядро процессора. Соответственно, если при тестировании у вас ядро процессора загружено не полностью — ищите слабые места. Немного эмоционально, но в целом корректно, влияние процессора на работу 1С описано . Просто для ориентира, даже на современных Core i3 с высокой частотой вполне реальны цифры 70-80.

Наиболее часто встречающиеся ошибки на этом этапе.

  • Неправильно настроенный антивирус. Антивирусов много, настройки для каждого свои, скажу лишь то, что при грамотной настройке ни веб, ни касперский 1С не мешают. При настройках "по умолчанию" - может отниматься примерно 3-5 попугаев (10-15%).
  • Режим производительности. Почему-то на это мало кто обращает внимания, а эффект - самый весомый. Если нужна скорость - то делать это обязательно, и на клиентских и на серверных компьютерах. (Хорошее описание у Гилева . Единственный нюанс, на некоторых материнских платах если выключить Intel SpeedStep то нельзя включать TurboBoost).
Если коротко - во время работы 1С происходит очень много ожиданий ответа от других устройств (диск, сеть и пр). Во время ожидания ответа, если режим производительности включен сбалансированный, то процессор понижает свою частоту. Приходит ответ от устройства, надо работать 1С (процессору), но первые такты идут с пониженной частотой, потом частота повышается - а 1С снова ждет ответа от устройства. И так - много сотен раз в секунду.

Включать режим производительности можно (и желательно) в двух местах:

  • через BIOS. Отключить режимы C1, C1E, Intel С-state (C2, C3,C4). В разных биосах они называтся по разному, но смысл один. Искать долго, требуется перезагрузка, но если сделал один раз - потом можно забыть. Если в BIOS все сделать правильно, то скорости добавится. На некоторых материнских платах настройками BIOS можно сделать так, что режим производительности Windows роли играть не будет. (Примеры настройки BIOS у Гилева). Эти настройки в основном касаются серверных процессоров или "продвинутых" BIOS, если Вы такое у себя не нашли, и у вас НЕ Xeon - ничего страшного.

  • Панель управления - Электропитание - Высокая производительность. Минус - если ТО комптютера давно не проводилось, он будет сильнее гудеть вентилятором, будет больше греться и потреблять больше энергии. Это - плата за производительность.
Как проверить, что режим включен. Запускаем диспетчер задач - быстродействие - монитор ресурсов - ЦП. Дожидаемся, пока процессор ничем не занят.
Это - настройки по умолчанию.

В BIOS C-state включены,

режим энергопотребления сбалансированный


В BIOS C-state включены, режим высокой производительности

Для Pentium и Core на этом можно остановиться,

из Xeon еще можно выжать немного "попугайчиков"


В BIOS C-state выключены, режим высокой производительности.

Если не использовать Turbo boost - именно так должен выглядеть

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


А теперь цифры. Напомню: Intel Xeon 5650, ramdisk. В первом случае тест показывает 23.26, в последнем - 49.5. Разница - почти двухкратная. Цифры могут варьироваться, но соотношение остается практически таким же для Intel Core.

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

в) Turbo Boost. Сначала надо понять, поддерживает ли Ваш процессор эту функцию, например . Если поддерживает, то можно еще вполне легально получить немного производительности. (вопросы разгона по частоте, особенно серверов, касаться не хочу, делайте это на свой страх и риск. Но соглашусь с тем, что повышение Bus speed со 133 до 166 дает очень ощутимый прирост как скорости, так и тепловыделения)

Как включать turbo boost написано, например, . Но! Для 1С есть некоторые нюансы (не самые очевидные). Сложность в том, что максимальный эффект от turbo boost проявляется тогда, когда включены C-state. И получается примерно такая картинка:

Обратите внимание, что множитель - максимальный, частота Core speed - красивейшая, производительность - высокая. Но что же будет в результате с 1с?

А в итоге получается, что по тестам производительности ЦПУ вариант с множителем 23 впереди, по тестам Гилева в файловой версии - производительность с множителем 22 и 23 одинаковая, а вот в клиент-серверной - вариант с множителем 23 ужас ужас ужас (даже, если C-state выставить на уровень 7, то все равно медленнее, чем с выключенным C-state). Поэтому рекомендация, проверьте оба варианта у себя, и выберите из них лучший. В любом случае, разница 49,5 и 53 попугая - достаточно значительная, тем более это без особых усилий.

Вывод - turbo boost включать обязательно. Напомню, что недостаточно включить пункт Turbo boost в биосе, надо еще посмотреть и другие настройки (BIOS: QPI L0s, L1 - disable, demand scrubbing - disable, Intel SpeedStep - enable, Turbo boost - enable. Панель управления - Электропитание - Высокая производительность). И я бы все-таки (даже для файловой версии) остановился на варианте, где c-state выключен, хоть там множитель и меньше. Получится как-то так...

Достаточно спорным моментом является частота памяти. Например вот частота памяти показывается как очень сильно влияющая. Мои же тесты - такой зависимости не выявили. Я не буду сравнивать DDR 2/3/4, я покажу результаты изменения частоты в пределах одной линейки. Память одна и та же, но в биосе принудительно ставим меньшие частоты.




И результаты тестирования. 1С 8.2.19.83, для файлового варианта локальный рамдиск, для клиент-серверного 1С и SQL на одном компьютере, Shared memory. Turbo boost в обоих вариантах выключен. 8.3 показывает сопоставимые результаты.

Разница - в пределах погрешности измерений. Я специально вытащил скрины CPU-Z чтобы показать, что со сменой частоты меняются и другие параметры, те же CAS Latency и RAS to CAS Delay, что нивелирует изменение частоты. Разница будет тогда, когда физически будут меняться модули памяти, с более медленных на более быстрые, но и там цифры не особо значительные.

2. Когда с процессором и памятью клиентского компьютера разобрались, переходим к следующему очень важному месту - сети. Про тюнинг сети написаны многие тома книг, есть статьи на Инфостарте ( , и другие), здесь я на эту тему заострять внимание не буду. Перед началом тестирования 1С просьба убедиться, что iperf между двумя компьютерами показывает всю полосу (для 1 гбит карточек - ну хотя бы 850 мбит, а лучше 950-980), что выполнены советы Гилева . Потом - самой простой проверкой работы будет, как это ни странно, копирование одного большого файла (5-10 гигабайт) по сети. Косвенным признаком нормальной работы на сети в 1 гбит будет средняя скорость копирования 100 мб/сек, хорошей работы — 120 мб/сек. Хочу обратить внимание, что слабым местом (в том числе) может быть и загруженность процессора. SMB протокол на Linux достаточно плохо параллелится, и во время работы он вполне спокойно может «скушать» одно ядро процессора, и больше не потреблять.

И еще. С настройками по умолчанию windows клиент лучше всего работает с windows server (или даже windows рабочая станция) и протоколом SMB/CIFS, linux клиент (debian, ubuntu остальные не смотрел) лучше работает с linux и NFS (с SMB тоже работает, но на NFS попугаи выше). То, что при линейном копировании вин-линукс сервер на нфс копируется в один поток быстрее, еще ни о чем не говорит. Тюнинг debian для 1С - тема отдельной статьи, я к ней еще не готов, хотя могу сказать, что в файловой версии получал даже немного бОльшую производительность, чем Win вариант на этом же оборудовании, но с postgres при пользователях свыше 50 у меня пока еще все очень плохо.

Самое главное, о чем знают "обжегшиеся" администраторы, но не учитывают начинающие. Есть очень много способов задать путь к базе 1с. Можно сделать servershare, можно 192.168.0.1share, можно net use z: 192.168.0.1share (и в некоторых случаях такой способ тоже сработает, но далеко не всегда) и потом указывать диск Z. Вроде бы все эти пути указывают на одно и то же место, но для 1С есть только один способ, достаточно стабильно дающий нормальную производительность. Так вот, правильно делать надо так:

В командной строке (или в политиках, или как Вам удобно) - делаете net use DriveLetter: servershare. Пример: net use m: serverbases. Я специально подчеркиваю, НЕ IP адрес, а именно имя сервера. Если сервер по имени не виден - добавьте его в dns на сервере, или локально в файл hosts. Но обращение должно быть по имени. Соответственно - в пути к базе обращаться к этому диску (см картинку).

А теперь я на цифрах покажу, почему именно такой совет. Исходные данные: Карты Intel X520-DA2, Intel 362, Intel 350, Realtek 8169. ОС Win 2008 R2, Win 7, Debian 8. Драйвера последние, обновления применены. Перед тестированием я убедился, что Iperf дает полную полосу (кроме 10 гбит карточек, там получилось только 7.2 Gbit выжать, позже посмотрю почему, тестовый сервер еще не настроен как надо). Диски разные, но везде SSD(специально вставил одиночный диск для тестирования, больше ничем не нагружен) или рейд из SSD. Скорость 100 Mbit получена путем ограничения в настройках адаптера Intel 362. Разницы между 1 Gbit медь Intel 350 и 1 Gbit оптика Intel X520-DA2 (полученной путем ограничения скорости адаптера) не обнаружено. Максимальная производительность, турбобуст выключен (просто для сопоставимости результатов, турбобуст для хороших результатов добавляет чуть меньше 10%, для плохих - вообще может никак не сказаться). Версии 1С 8.2.19.86, 8.3.6.2076. Цифры привожу не все, а только самые интересные, чтобы было с чем сравнивать.

100 Mbit CIFS

Win 2008 - Win 2008

обращение по ip адресу

100 Mbit CIFS

Win 2008 - Win 2008

обращение по имени

1 Gbit CIFS

Win 2008 - Win 2008

обращение по ip адресу

1 Gbit CIFS

Win 2008 - Win 2008

обращение по имени

1 Gbit CIFS

Win 2008 - Win 7

обращение по имени

1 Gbit CIFS

Win 2008 - Debian

обращение по имени

10 Gbit CIFS

Win 2008 - Win 2008

обращение по ip адресу

10 Gbit CIFS

Win 2008 - Win 2008

обращение по имени

11,20 26,18 15,20 43,86 40,65 37,04 16,23 44,64
1С 8.2 11,29 26,18 15,29 43,10 40,65 36,76 15,11 44,10
8.2.19.83 12,15 25,77 15,15 43,10 14,97 42,74
6,13 34,25 14,98 43,10 39,37 37,59 15,53 42,74
1С 8.3 6,61 33,33 15,58 43,86 40,00 37,88 16,23 42,74
8.3.6.2076 33,78 15,53 43,48 39,37 37,59 42,74

Выводы (из таблицы, и из личного опыта. Касается только файловой версии):

  • По сети можно получить вполне нормальные цифры для работы, если эту сеть нормально настроить, и правильно прописать путь в 1С. Даже первые Core i3 вполне могут давать 40+ попугаев, что достаточно неплохо, причем это не только попугаи, в реальной работе разница тоже заметна. Но! ограничением при работе нескольких (больше 10) пользователей уже будет выступать не сеть, тут 1 Гбит еще хватит, а блокировки при многопользовательской работе (Гилев).
  • платформа 1C 8.3 в разы требовательнее к грамотной настройке сети. Базовые настройки - см Гилев , но учтите, что влиять может все. Видел ускорение от того, что деинсталлировали (а не просто отключали) антивирус, от убирания протоколов типа FCoE, от смены драйверов на более старую, но microsoft certified версию (особенно касается дешевых карточек типа асусов и длинков), от убирания второй сетевой карточки из сервера. Очень много вариантов, настраивайте сеть вдумчиво. Вполне может быть ситуация, когда платформа 8.2 дает приемленые цифры, а 8.3 - в два или даже больше раз меньше. Попробуйте поиграться с версиями платформы 8.3, иногда получается очень большой эффект.
  • 1С 8.3.6.2076 (может и более поздние, точную версию еще не искал) по сети все-таки настроить попроще, чем 8.3.7.2008. Добиться от 8.3.7.2008 нормальной работы по сети (в сопоставимых попугаях) получилось всего несколько раз, повторить для более общего случая не смог. Сильно не разбирался, но судя по портянкам от Process Explorer там запись не так идет, как в 8.3.6.
  • Несмотря на то, что при работе на 100Мбит сети график ее загруженности небольшой, (можно сказать что сеть свободная), скорость работы все равно гораздо меньше, чем на 1 гбит. Причина - задержки (latency) сети.
  • При прочих равных условиях (хорошо работающей сети) для 1С 8.2 соединение Intel - Realtek медленнее на 10%, чем Intel-Intel. А вот realtek-realtek вообще могут дать резкие проседания на ровном месте. Поэтому, если есть деньги - лучше везде держать сетевые карточки Intel, если денег нет - то Intel ставить только на сервер (ваш К.О.). Да и инструкций по тюнингу интелевых сетевых карточек в разы больше.
  • Настройки антивирусов по умолчанию (на примере drweb 10 версии) отнимают около 8-10% попугаев. Если настроить как надо (разрешить процессу 1cv8 делать все, хоть это и не безопасно) - скорость такая же, как и без антивируса.
  • Линуксовым гуру НЕ читать. Сервер с samba это здорово и бесплатно, но если на сервер поставить Win XP или Win7 (а еще лучше - серверные ОС), то в файловой версии 1с будет работать быстрее. Да, и samba и стек протоколов и настройки сети и многое многое другое в debian/ubuntu хорошо тюнингуется, но делать это рекомендуется специалистам. Нет смысла ставить линукс с настройками по умолчанию и потом говорить, что он медленно работает.
  • Достаточно неплохо проверять работу дисков, подключенных через net use, с помощью fio . По крайней мере будет понятно, или это проблемы с платформой 1С, или с сетью/диском.
  • Для однопользовательского варианта не могу придумать тесты (или ситуацию) ,где была бы видна разница между 1Гбит и 10 Гбит. Единственное, где 10Гбит для файловой версии дал результат лучше - это подключение дисков по iSCSI, но это тема отдельной статьи. Все-таки считаю, что для файловой версии 1 Гбит карточек достаточно.
  • Почему при 100 Мбит сети 8.3 работает заметно быстрее 8.2 - не понимаю, но факт имел место быть. Все остальное оборудование, все остальные настройки абсолютно одинаковые, просто в одном случае тестируется 8.2, а в другом - 8.3.
  • Не тюнингованный NFS win - win или win-lin дает 6 попугаев, в таблицу включать не стал. После тюнинга 25 получил, но нестабильно (разбег в измерениях больше 2 единиц). Пока не могу дать рекомендации по использованию windows и NFS протокола.
После всех настроек и проверок запускаем опять тест с клиентского компьютера, радуемся улучшившемуся результату (если получилось). Если результат улучшился, попугаев стало больше 30(а особенно больше 40), пользователей одновременно работает меньше 10 а рабочая база все равно тормозит - практически однозначно проблемы программиста (или Вы уже достигли пика возможностей файловой версии).

Терминальный сервер. (база лежит на сервере, клиенты подключаются по сети, протокол RDP). Алгоритм по шагам:

  • Добавляем на сервер тестовую базу Гилева в ту же папку, что и основные базы. С этого же сервера подключаемся, запускаем тест. Запоминаем получившийся результат.
  • Точно так же, как и в файловой версии, настраиваем работу процессора. В случае терминального сервера - процессор вообще несет на себе основную роль (подразумевается, что нет явных слабых мест, типа нехватки памяти или огромного количества ненужного ПО).
  • Настройка сетевых карточек в случае терминального сервера практически не влияет на работу 1с. Для обеспечения "особого" комфорта, если у вас сервер выдает больше 50 попугаев можно поиграться с новыми версиями RDP протокола, просто для комфорта работы пользователей, более быстрого отклика и скроллинга.
  • При активной работе большого количества пользователей (а здесь уже можно пробовать и 30 человек на одну базу подключить, если постараться) очень желательно поставить SSD диск. Почему-то считается, что диск не особо влияет на работу 1С, но все тесты проводят с включенным на запись кэшем контроллера, что неправильно. Тестовая база маленькая, она вполне помещается в кэш, отсюда и высокие цифры. На реальных (больших) базах все будет совершенно по другому, поэтому для тестов кэш отключен.
Для примера, проверил работу теста Гилева с разными вариантами дисков. Диски ставил из того, что было под рукой, просто тенденцию показать. Разница между 8.3.6.2076 и 8.3.7.2008 небольшая(в варианте Ramdisk Turbo boost 8.3.6 выдает 56.18 а 8.3.7.2008 выдает 55.56, в остальных тестах разница еще меньше). Энергопотребление - максимальная производительность, turbo boost отключен (если не сказано иное).
Raid 10 4x SATA 7200

ATA ST31500341AS

Raid 10 4x SAS 10k Raid 10 4x SAS 15k Одиночный SSD Ramdisk Ramdisk Включен кэш

RAID контроллера

21,74 28,09 32,47 49,02 50,51 53,76 49,02
1С 8.2 21,65 28,57 32,05 48,54 49,02 53,19
8.2.19.83 21,65 28,41 31,45 48,54 49,50 53,19
33,33 42,74 45,05 51,55 52,08 55,56 51,55
1С 8.3 33,46 42,02 45,05 51,02 52,08 54,95
8.3.7.2008 35,46 43,01 44,64 51,55 52,08 56,18
  • Включенный кэш RAID контроллера нивелирует всю разницу между дисками, цифры одинаковые и для сата, и для сас. Тестирование с ним для небольшого объема данных бесполезно и не является каким-то показателем.
  • Для платформы 8.2 разница в производительности между SATA и SSD вариантами - более чем в два раза. Это не опечатка. Если во время теста на САТА дисках смотреть на монитор производительности. то там явно видно "Активное время работы диска (в%)" 80-95. Да, если включить кэш самих дисков на запись скорость вырастет до 35, если включить кэш рейд контроллера - до 49 (независимо от того, какие диски тестируются в данный момент). Но это - синтетические попугаи кэша, в реальной работе при больших базах никогда не будет 100% write cache hit ratio.
  • Скорости даже дешевых ССД (я тестировал на Agility 3) вполне хватает для работы файловой версии. Ресурс записи - другое дело, тут смотреть надо в каждом конкретном случае, понятно, что у Intel 3700 он будет на порядок выше, но там и цена соответствующая. И да, я понимаю, что при тестировании SSD диска я тоже тестирую в бОльшей степени кэш этого диска, реальные результаты будут меньше.
  • Самым правильным (с моей точки зрения) решением будет выделить 2 ССД диска в зеркальный рейд для файловой базы (или нескольких файловых баз), и ничего больше туда не помещать. Да, при зеркале ССД изнашиваются одинаково, и это минус, но хотя бы от ошибок электроники контроллера хоть как-то застрахованы.
  • Основные плюсы ССД дисков для файлового варианта появятся тогда, когда будет много баз, и в каждой по несколько пользователей. Если баз 1-2, и пользователей в районе 10, то и SAS дисков хватит. (но в любом случае - смотреть на загрузку этих дисков, хотя бы через perfmon).
  • Основные плюсы терминального сервера - у него могут быть очень слабые клиенты, и настройки сети на терминальный сервер влияют гораздо меньше (опять ваш К.О.).
Выводы: если на терминальном сервере запустить тест Гилева (с того же диска, где лежат рабочие базы) и в те моменты, когда тормозит рабочая база, и тест Гилева покажет хороший результат (выше 30) - то в медленной работе основной рабочей базы виноват, скорее всего, программист.

Если же и тест Гилева показываем маленькие цифры, и у вас и процессор с высокой частотой, и диски быстрые, то вот тут администратору надо брать как минимум perfmon, причем с записью всех результатов куда-нибудь, и смотреть, наблюдать, делать выводы. Однозначных советов не будет.

Клиент-серверный вариант.

Тесты проводил только на 8.2, т.к. на 8.3 все достаточно серьезно зависит от версии.

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

1С: Xeon 5520

SQL: Xeon E5-2630

1С: Xeon 5520

SQL: Xeon E5-2630

Fibre channel - SSD

1С: Xeon 5520

SQL: Xeon E5-2630

Fibre channel - SAS

1С: Xeon 5650

SQL: Xeon E5-2630

1С: Xeon 5650

SQL: Xeon E5-2630

Fibre channel - SSD

1С: Xeon 5650

SQL: Xeon E5-2630

1С: Xeon 5650 = 1С: Xeon 5650 = 1С: Xeon 5650 = 1С: Xeon 5650 = 1С: Xeon 5650 =
16,78 18,23 16,84 28,57 27,78 32,05 34,72 36,50 23,26 40,65 39.37
1С 8.2 17,12 17,06 14,53 29,41 28,41 31,45 34,97 36,23 23,81 40,32 39.06
16,72 16,89 13,44 29,76 28,57 32,05 34,97 36,23 23,26 40,32 39.06

Вроде все интересные варианты рассмотрел,если что-то интересует еще - пишите в комментария, постараюсь сделать.

  • САС на СХД работает медленнее, чем локальные ССД, даже несмотря на то, что у СХД большие размеры кэша. ССД и локальные и на СХД для теста Гилева работают с сопоставимой скоростью. Какой-то стандартный многопоточный тест (не только записи, а всего оборудования) кроме нагрузочного 1С из ЦУП я не знаю.
  • Смена сервера 1С с 5520 на 5650 дала практически удвоение производительности. Да, конфигурации серверов не совпадают полностью, но тенденцию показывает (ничего удивительного).
  • Увеличение частоты на сервере SQL конечно дает эффект, но не такой, как на сервере 1С, MS SQL сервер отлично умеет (если его об этом попросить) использовать многоядерность и свободную память.
  • Смена сети между 1С и SQL с 1 гбит на 10 гбит дает примерно 10% попугаев. Ожидал большего.
  • Включение Shared memory эффект все-таки дает, хоть и не 15%, как в статье описано. Делать обязательно, благо это быстро и просто. Если кто-то при установке дал серверу SQL именованный инстанс, то для работы 1С имя сервера надо указывать не FQDN (будет работать tcp/ip), не через localhost или просто ServerName, а через ServerNameInstanceName, например zz-testzztest. (Иначе будет ошибка СУБД: Microsoft SQL Server Native Client 10.0: Поставщик общей памяти: Не найдена библиотека общей памяти, использующаяся для установки соединения с SQL Server 2000 . HRESULT=80004005, HRESULT=80004005, HRESULT=80004005, SQLSrvr: SQLSTATE=08001, state=1, Severity=10, native=126, line=0).
  • для пользователей меньше 100 единственный смысл для разнесения на два отдельные сервера - это лицензия на Win 2008 Std (и более старые версии), которая поддерживает только 32 Гб ОЗУ. Во всех других случаях - 1С и SQL однозначно надо ставить на один сервер и давать ему побольше (хотя бы 64 Гб) памяти. Давать MS SQL меньше 24-28 Гб ОЗУ - неоправданная жадность (если Вы думате, что у Вас этой памяти ему хватает и все нормально работает - может Вам и файловой версии 1С бы хватило?)
  • Насколько хуже работает связка 1С и SQL в виртуальной машине - тема отдельной статьи (подсказка - заметно хуже). Даже в Hyper-V все не так однозначно...
  • Сбалансированный режим производительности - это плохо. Результаты вполне кореллируют с файловой версией.
  • В многих источниках написано, что отладочный режим (ragent.exe -debug) дает сильное понижение производительности. Ну понижает, да, но 2-3% я бы не назвал значительным эффектом.
Тут будет меньше всего советов для конкретного случая, т.к. тормоза при клиент-серверном варианте работы самый сложный случай, и все настраивается очень индивидуально. Проще всего сказать, что для нормальной работы нужно взять отдельный сервер ТОЛЬКО для 1C и MS SQL, поставить туда процессоры с максимальной частотой (выше 3 Ггц), SSD диски для базы, и побольше памяти (128+), виртуализацию не использовать. Помогло - отлично, Вам повезло (и таких везунчиков будет очень много, больше половины проблем решаются адекватным апгрейдом). Если нет, то любые другие варианты уже требуют отдельного разбирательства и настроек.

Продукты по бухгалтерскому и управленческому учету компании 1С наиболее распространены на территории РФ. Тысячи компаний ведут свой бизнес, опираясь на типовые и специализированные конфигурации 1С. При таком массовом использовании, регулярно возникает ряд вопросов по оптимизации бюджета на ПО и разумному использованию ресурсов. Не утихают споры вокруг серверных частей данного комплекса, в частности – на какой операционной системе базировать сервер 1С и какой СУБД доверить обработку баз 1С. В ходе наших тестов мы постараемся ответить на эти вопросы.

Участники тестирования

Операционная система MS Server и СУБД MS SQL

  • Фирма 1С открыто позиционирует эту связку как основную рабочую модель, соответственно продукты 1С создаются в первую очередь для нее
  • Наличие протокола прямого скоростного обмена информацией SharedMemory
  • Есть официальная техническая поддержка и сервисные контракты
  • Есть база знаний и тонны информации по инсталляции и тонкой настройке 1C+MS SQL

Операционная система Unix и СУБД PostgreSQL

  • Система полностью бесплатна (кроме лицензии на сервер 1С:Предприятие)
  • Имеется возможность гибкой настройки множества параметров, улучшающих работоспособность СУБД
  • Заявлена поддержка СУБД PostgreSQL продуктами 1С
  • Есть возможность репликации баз

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

Поскольку технической литературы по этим двум системам на просторах Интернета просто великое множество, можно было бы долго спорить о длинных сравнительных таблицах, которые, в зависимости от целей, подчеркивают выгоды того или иного продукта. Дискутировать можно о том или ином параметре среди сотен других таких же - насколько он уникален в своем роде и как он влияет на достижение результата. Но теория без практики мертва – предлагаем в этой статье опустить теорию и перейти непосредственно к фактам, чтобы именно на практике проверить быстродействие обеих информационных систем с определенным уровнем рекомендуемых настроек и в различных вариантах серверной архитектуры (см. таблицу 2).

Методы тестирования

В наших испытаниях мы будем опираться на два метода синтетической генерации нагрузки и имитации работы пользователей в 1С. Это тест Гилева (TPC-1C) и специальный тест 1С «Тест центр» из инструментария 1С:КИП со специальными сценариями работы пользователей.

Тест Гилева (TPC-1C)

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

Специализированный тест из инструментария «Тест центр» 1С: КИП

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

Рисунок 1 - Схема работы «Тест центр» 1С: КИП

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

Параметры тестирования

При настройке сценариев тестирования для достоверной имитации одновременной работы большого количества пользователей задаются определенные параметры тестирования для каждого типа документа (см. таблицу 1):

  • Документ – указывает конкретный документ в рабочей базе, на основе которого будет производиться нагрузочное тестирование
  • Приоритет запуска – формирует порядок запуска тестов для каждого типа документов
  • Количество документов – определяет объем формируемых тестовых документов
  • Пауза, секунд – задержка при запуске серии тестов, в рамках одного типа документов
  • Количество строк в документе – информационный указатель, сообщающий о «массивности» тестового документа, что влияет на время обработки и нагрузку на ресурсы

Тесты выполняются в 3 итерациях, результаты записываются в таблицу. Таким образом, полученные итоги тестирования, измеряемые в секундах, наиболее реалистично и объективно отображают уровень производительности баз 1С в условиях, максимально приближенных к реальным (см. таблицу 3.1 и 3.2).

Таблица 1. Параметры тестовых сценариев

Счет покупателю
Документ Приоритет запуска Количество документов Пауза, секунд Количество строк в документе
Роль 1 Счет покупателю 1 25 51 62
Поступление товаров 2 25 80
Реализация товаров 3 25 103
Платежные поручения 4 25 1
Возвраты покупателя 5 25 82
Роль 2 5 10 65 79
Поступление товаров 1 22 80
Реализация товаров 2 25 103
Платежные поручения 3 25 1
Возвраты покупателя 4 25 75
Роль 3 Счет покупателю 4 15 45 76
Поступление товаров 5 26 80
Реализация товаров 1 52 103
Платежные поручения 2 26 1
Возвраты покупателя 3 32 90
Роль 4 Счет покупателю 3 45 38 70
Поступление товаров 4 30 80
Реализация товаров 5 30 103
Платежные поручения 1 20 1
Возвраты покупателя 2 20 86
Роль 5 Счет покупателю 2 30 73 76
Поступление товаров 3 30 80
Реализация товаров 4 30 103
Платежные поручения 5 18 1
Возвраты покупателя 1 18 91
Роль 6 Счет покупателю 1 40 35 86
Поступление товаров 2 40 80
Реализация товаров 3 40 103
Платежные поручения 4 40 1
Возвраты покупателя 5 40 88
Роль 7 Счет покупателю 5 25 68 80
Поступление товаров 1 25 80
Реализация товаров 2 25 103
Платежные поручения 3 25 1
Возвраты покупателя 4 25 90
Роль 8 Счет покупателю 3 25 62 87
Поступление товаров 4 25 80
Реализация товаров 5 25 103
Платежные поручения 1 25 1
Возвраты покупателя 2 25 92
Роль 9 Счет покупателю 2 20 82 82
Поступление товаров 4 20 80
Реализация товаров 5 20 103
Платежные поручения 1 20 1
Возвраты покупателя 3 20 98
Роль 10 Счет покупателю 4 50 2 92
Поступление товаров 1 50 80
Реализация товаров 2 50 103
Платежные поручения 5 50 1
Возвраты покупателя 3 50 98

Таблица 2. Технические характеристики тестового стенда

№п\п Роль системы CPU\vCPU RAM, Гб Дисковая система ввода\вывода
1 Сервер терминалов – виртуальная машина для управления тестами 4 ядра
2.9 GHz
16 Гб Intel Sata SSD Raid1
2 Сценарий 1. Сервер 1С + СУБД аппаратный Intel Xeon E5-2690
16 ядер
96 Гб Intel Sata SSD Raid1
3 Сценарий 2. Сервер 1С + СУБД виртуальные 16 ядер
2.9 GHz
64 Гб Intel Sata SSD Raid1
4 Сценарий 3. Сервер 1С виртуальный 16 ядер
2.9 GHz
32 Гб Intel Sata SSD Raid1
5 Сценарий 4. Сервер СУБД виртуальный 16 ядер
2.9 GHz
32 Гб Intel Sata SSD Raid1
6 Программное обеспечение
  • Microsoft Windows Server 2016 DataCenter
  • Microsoft Windows Server 2016 Standart
  • Microsoft SQL Server 2016 SP1 (13.0.4001.0)
  • Гипервизор Hyper-V
  • Сервер 1C:Предприятие 8.3.10.2667
  • CentOS 7.4.1708 (x64)
  • PostgreSQL 9.6.5+Patch PostgreSQL 9.6.5-4.1C
7 Конфигурации 1С
  • Однопоточный синтетический тест платформы 1С:Предприятие + Многопоточный тест записи на диск (2.1.0.7) Гилёв Вячеслав Валерьевич
  • Размер 0,072 Гб
  • Конфигурация: Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.52.39)
  • Приложение: Тонкий клиент
  • Вариант интерфейса: Такси
  • Размер 9,2 Гб
  • Платформа: 1С:Предприятие 8.3 (8.3.10.2667)
  • Конфигурация: Управление торговлей, редакция 11 (11.3.4.21)
  • Режим: Серверный (сжатие: усиленное)
  • Приложение: Тонкий клиент
  • Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
  • Вариант интерфейса: Такси
  • Размер 11,8 Гб

Таблица 3.1 Результаты тестирования с помощью теста Гилева (TPC-1C). Оптимальным считается наибольшее значение

Таблица 3.2 Результаты тестирования с помощью специального теста 1С:КИП. Оптимальным считается наименьшее значение

Операционная система Microsoft Server Операционная система класса Unix
Перечень тестов (среднее значение по итогам серии из 3 тестов) Аппаратный сервер 1С+СУБД, протокол SharedMemory Виртуальный сервер 1С+СУБД, протокол SharedMemory Аппаратный сервер 1С и аппаратный сервер СУБД, протокол TCP-IP Виртуальный сервер 1С и виртуальный сервер СУБД, протокол TCP-IP
Проведение тестов 1С:КИП на существующей базе, конфигурация Бухгалтерия Предприятия
Оборотно сальдовая ведомость 1,741 сек 2,473 сек 2,873 сек 2,522 сек 13,866 сек 9,751 сек
Проведение возврата товаров от покупателей 0,695 сек 0,775 сек 0,756 сек 0,781 сек 0,499 сек 0,719 сек
Проведение платежных поручений 0,048 сек 0,058 сек 0,063 сек 0,064 сек 0,037 сек 0,065 сек
Проведение ПТИУ 0,454 сек 0,548 сек 0,535 сек 0,556 сек 0,362 сек 0,568 сек
Проведение реалиизации товаров и услуг 0,667 сек 0,759 сек 0,747 сек 0,879 сек 0,544 сек 0,802 сек
Проведение счета на оплату 0,028 сек 0,037 сек 0,037 сек 0,038 сек 0,026 сек 0,038 сек
Расчет калькуляций себестоимости 3,071 сек 3,657 сек 4,094 сек 3,768 сек 15,175 сек 10,68 сек
Проведение тестов 1С:КИП на существующей базе, конфигурация Управление Торговлей
Проведение и возврат от клиента 2,192 сек 2,113 сек 2,070 сек 2,418 сек 1,417 сек 1,494 сек
Проведение и возврат товаров поставщику 1,446 сек 1,410 сек 1,359 сек 1,467 сек 0,790 сек 0,849 сек
Проведение заказа клиента 0,355 сек 0,344 сек 0,335 сек 0,361 сек 0,297 сек 0,299 сек
Проведение пересчета товаров 0,140 сек 0,134 сек 0,131 сек 0,144 сек 0,100 сек 0,097 сек
Проведение поступления ТУ 1,499 сек 1,438 сек 1,412 сек 1,524 сек 1,097 сек 1,189 сек
Проведение реализации ТУ 1,390 сек 1,355 сек 1,308 сек 1,426 сек 1,093 сек 1,114 сек
Проведение РКО 0,759 сек 0,729 сек 0,713 сек 0,759 сек 0,748 сек 0,735 сек
  1. В специальном тесте 1С операции «чтения данных и сложных вычислений», такие как «Оборотно-сальдовая ведомость» и «Расчет калькуляций себестоимости» в несколько раз быстрее выполняются на СУБД MS SQL от Microsoft.
  2. При операциях «записи данных и проведения документов» в большинстве тестов лучший результат показывает СУБД PostgreSQL, оптимизированный для 1С.
  3. Синтетический тест Гилева также показывает преимущество PostgreSQL. Связан данный факт с тем, что синтетический тест основан на измерении скорости создания и проведения определенных типов документов, что считается также операциями «записи данных и проведения документов».

Закончим с кроссплатформенным сравнением, перейдем к сравнениям внутри каждой системы:

  1. Ожидаемо, тесты 1С на аппаратной платформе показывают результаты лучше, чем на виртуальной. Разница в результатах специального теста 1С в обоих случаях невелика, что свидетельствует о постепенной оптимизации производителями виртуальных гипервизоров.
  2. Также ожидаемо, что использование технологии разделяемой памяти (SharedMemory) ускоряет процесс обмена данными между сервером 1С и СУБД. Соответственно, показания тестов немного лучше, чем у схемы с сетевым взаимодействием этих двух сервисов посредством протокола TCP-IP.

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

Читайте продолжение тестирования .