Управление IT-Инфраструктурой
Модернизация • Настройка • Поддержка
VDI Service - ИТ компания, IT аутсорсинг в Санкт-Петербурге
Производительность сервера определяется не загруженностью и очередями к процессору, а способностью выполнить количество операций в единицу времени
Конечно, факт конкурирования за такие ресурсы как процессор снижает скорость выполнения операций (время отклика = время операции + время ожидания оборудования + время логических ожиданий вроде блокировок), но ключевой характеристикой является скорость операции.
Примечание. Для процессора наиболее значимой характеристикой является частота процессора а не загруженность. Чтобы оценить скорость в целом, используйте этот тест.

Предыстория

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

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

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

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

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

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


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

Вы получили в качестве результата некий индекс производительности (скорости). Не важно, хороший или плохой результат — это результат работы ПЛАТФОРМЫ на вашем «железе». В случае клиент — серверного варианта это результат сложной цепочки прохождения запросов по различным участкам. Вы получаете общий фактический результат, который определяется самым узким местом в системе. Узкое место есть всегда.
Другими словами, и настройки СУБД, и настройки ОС, и оборудование оказывают влияние на общий командный результат.
Тест оценивает количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок, включая скорость отрисовки интерфейса, влияния затрат на обслуживание виртуальной среди если есть, перепроведения документов, закрытия месяца, расчета зарплаты и т.п.
Тест не делает диагностики что является самым узким местом. Тест не оценивает возможности оборудования для коллективной работы в условиях интенсивных блокировок.

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

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

Зависимость теста от версии платформы 1С:Предприятие

Фирма 1С постоянно модифицирует код платформы, добавляет новые функции, модифицирует или удаляет. Всё это так или иначе сказывается на общем результате. Когда Вы обновляете версию платформы например в угоду требованиям нового обновления бухгалтерии, вы должны понимать что это в некоторой степени обязательно скажется на скорости.
Ниже приведен график производительности платформы на одном и том же железе для некоторых релизов.
Можно сказать что создатели платформы на практике реализуют доказательство закона Вирта: «программы становятся медленнее куда шустрее, чем компьютеры становятся быстрее»
Зависимость теста от редакции СУБД
Оптимизатор запросов может меняться со временем, улучшаться, а иногда и ухудшаться. Некоторые изменения в редакциях также можно увидеть например через этот тест.
Безопасность теста

Тест абсолютно безопасен. Он не приводит к «падению» сервера (отсутствует «стресс»-алгоритм) и не требует предварительных мероприятий даже на «боевом» сервере. Конфиденциальных данных в результаты теста также не записываются. При идентификации (указанию почты например) метрики передаются на сайт. Собирается информация о параметрах CPU, RAM, HDD. Серийные номера устройств не собираются. По индивидуальному запросу на нашу почту мы можем пустить Вас в тимвьюере на нашу серверную часть (куда попадают результаты теста) и вы посмотрите что туда приезжает и что мы видим. Указывать почту не обязательно, в этом случае ваши результаты теста просто не попадут на наш сервер. Доступ к субд опционален и нужен для опроса среды, в которой выполнялся тест. Тест существует уже около десяти лет и завоевал отличную репутацию!

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

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

Оценка и прогноз производительности

Основной задачей после внедрения информационной системы является ее быстрая, стабильная и безотказная работа, удовлетворяющая пользователей.
Однако часто при увеличении числа пользователей, объема данных, интенсивности ввода, быстродействие программы катастрофически падает. Время выполнения операций и отклика системы критически увеличивается.
Все это приводит к недовольству пользователей системы всех уровней, и неэффективной работе.
Несмотря на то, что такое поведение системы прогнозируемо, многие оказываются не готовы к этому варианту событий.
Известно большое количество случаев, когда планировалось и осуществлялось создание систем учета без предварительного подробного анализа того, как данная система будет себя вести с большими объемами данных (например при параллельной интенсивной работе более тысячи человек). Такие проекты затрачивали огромные средства на создание системы. Но после внедрения срок жизни этих систем составляел год, полтора. Затем констатировалось, что система не справляется с задачами, выделялся новый бюджет и начинался новый проект внедрения «лучшей» системы, которая влекла те же последствия.
На текущий момент, есть только одно решение данного вопроса — нагрузочное тестирование.
Нагрузочное тестирование
Нагрузочное тестирование – анализ поведения системы при эмуляции реальной пользовательской нагрузки.

Основные цели нагрузочного тестирования:

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

Таким образом нагрузочный тест должен позволить произвести следующие оценки системы:

  • оценку производительности информационной системы или отдельных ее частей при заданных параметрах модели предприятия с целью:
  • выбора оборудования;
  • формулирования эксплуатационных требований;
  • оценки применимости информационной системы;
  • оценку масштабируемости информационной системы при изменении:
  • объема информационной базы;
  • количества одновременно работающих пользователей;
  • нагрузки на систему;
  • оценку изменения показателей производительности системы при изменении:
  • функциональности системы (доработка системы или отдельных алгоритмов);
  • конфигурации оборудования.
  • выявления проблем, возникающих только при многопользовательской работе (конфликты блокировок и т.п.).
Нагрузочный тест помогает не только оценить те или иные характеристики. Но самое главное позволяет заранее выявить узкие места системы и решить проблему наиболее эффективным путем.

Скачать тест
Данный тест не является коммерческим и его можно скачать бесплатно для 8.2 и бесплатно для 8.3.

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

Что происходит в тесте в рамках «одного» такта операции?
Пример исполнения sql-команд можно посмотреть в приложенном файле.
Особенности использования теста на субд PostgreSQL
Установите значение параметра standard_conforming_strings в конфигурационном файле postgresql.conf в значение ‘off’

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

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

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