Главная страница Visual 2000 · Общий список статей

1С:УПП: проверка на масштабируемость пройдена

Андрей Колесов

© Андрей Колесов, 2006
Авторский вариант. Статья была опубликована c незначительной литературной правкой в еженедельнике PC Week/RE (N 14/2006, с. 37)

Выпустив летом 2003 года на рынок новую платформу "1С:Предприятие 8.0", фирма "1С" перешла к решению важной для развития своего бизнеса задачи: расширение сферы применения своих прикладных решения за счет расширения их функциональности, производительности и масштабирования. Сейчас можно констатировать, что компания достаточно уверенно движется к поставленной цели (см. PC Week/RE № 36/2005, с. 38). При этом наряду с появлением новых программных продуктов все это время шло наращивание базовых функций и самой платформы. Однако при этом возникал вопрос – справится ли ядро системы (в том числе заложенная в него архитектура) с растущим объемом навешенного на него прикладного ПО?

Ответ на этот вопрос был дан разработчиками "1С", представившим на проходившей в конце февраля партнерской конференции результаты тестирования своего флагманского продукта "1С:Управление производственным предприятием" (1С:УПП).

Напомним, что весьма представительное исследование "1С:Предприятия 8.0" на примере решения "Управление торговлей", на предмет масштабируемости и производительности было проведено фирмой "1С" еще в конце 2003 года (см. PC Week/RE № 09/2004, с. 44). Его задачей было показать преимущества архитектуры новой платформы по сравнению с ее предыдущей версией 7.7 в условиях повышения объемов запросов на обработку документов и формирования запросов. Но этот раз цель была гораздо скромнее – подтвердить возможности масштабируемости многофункционального решения 1С:УПП при одновременной работе большого количества пользователей.

Исследование выполнялось на примере операций, наиболее критичных с точки зрения нагрузки на вычислительную систему, и при параметрах, типичных для большинства организаций заказчиков. Использовался клиент-серверный вариант 1С:УПП, при этом сервера "1С:Предприятия" и базы данных были установлены на разных компьютерах. Работа пользователей (от 1 до 150) – запись и проведение документа эмулировалась программным образом, при этом автомат между вводом документов делал паузу 60 секунд. Но, несмотря на это, интенсивность ввода информации все равно была в несколько раз выше по сравнению с реальными условиями.

Тестирование проводилось для документов различного объема – 5, 20 и 40 строк, а также двух разных степеней конкурентности номенклатуры во водимых данных: когда наборы товаров у тестовых пользователей вообще не пересекаются и когда они совпадают в каждом четвертом случае.

Анализ представленных результатов исследования позволяет сделать следующие основные выводы:

  1. В максимальном тестовом варианте при одновременной работе 150 тестовых пользователей (для документов объемом 40 строк) система обрабатывала более 300 тысяч вводимых строк в час (рис. 1). Причем этот режим еще очень далек от пределов возможностей решения по нагрузке.

  2. Объем обрабатываемой информации рос практически прямо пропорционально увеличению входной нагрузки (количества одновременно работающих пользователей), при этом количество обработанных документов (в среднем – 8 тыс. в час) практически не зависит от объема документа. Характер зависимости говорит о том, что система справляется с данной нагрузкой, и не достигла насыщения (предела пропускной способности), то есть при дальнейшем росте количества пользователей, объем информации, обрабатываемой системой в единицу времени, будет возрастать.

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

    Рис. 1. Количество строк, обработанных за час системой 1С:УПП

    Рис. 2. Среднее время записи и проведения одного документа

    Увеличение времени обработки объясняется блокировками при параллельной работе с конкурентными наборами данных, увеличением нагрузки на все программные и аппаратные компоненты системы, а так же ростом накладных расходов, связанных с обслуживанием большего количества пользователей. Тем не менее, время обработки документа ни в одном тесте не превысило 10 секунд. Важно также подчеркнуть, что во время тестирования на конкурентных наборах данных не наблюдалось конфликтов взаимной блокировки (deadlock).

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

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

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

В начало статьи

Конфигурация тестового комплекса

ОБОРУДОВАНИЕ:

  1. Сервер "1С:Предприятия":
  2. Сервер баз данных. Sun Fire V40z:

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: