Notice: Undefined variable: shm_str in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 57

Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50564 Library:50645 in /var/www/u3757017/data/www/business-semantic.ru/core/mysql.ext on line 36

Notice: Undefined index: constants in /var/www/u3757017/data/www/business-semantic.ru/core/constants.ext on line 3

Notice: Undefined index: setlang in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 122

Notice: Undefined index: setlang_data in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 129

Notice: Undefined index: lang in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 136

Notice: Undefined index: lang_data in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 144

Notice: Undefined index: 3_1_1 in /var/www/u3757017/data/www/business-semantic.ru/interfaces/classes/Security.class on line 29

Notice: Undefined index: container in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 167

Notice: Undefined index: fragments in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 168

Notice: Undefined index: subsites in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 63

Notice: Undefined index: business-semantic.ru in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 64

Notice: Undefined index: path in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 57

Notice: Undefined index: /products/bus/performance in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: 1_11_1 in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 215

Notice: Undefined index: allparents_1_254 in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 104

Notice: Undefined index: templates in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 116

Notice: Undefined offset: 11 in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 117

Notice: Undefined property: page::$namecontent in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 205

Notice: Undefined property: page::$description in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 206

Notice: Undefined property: page::$keywords in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 207

Notice: Undefined property: page::$script_include in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 236

Notice: Undefined variable: s in /var/www/u3757017/data/www/business-semantic.ru/core/serialize.ext on line 43

Notice: Undefined variable: s in /var/www/u3757017/data/www/business-semantic.ru/core/serialize.ext on line 47

Notice: Undefined index: modules in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 29

Notice: Undefined index: s_top_menu in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 30

Notice: Undefined index: modules_extensions in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 43

Notice: Undefined offset: 160 in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 44

Notice: Undefined index: 2__1 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 74

Notice: Undefined index: 2_160_1 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 88

Notice: Undefined property: LangContainer::$pagename in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 102

Notice: Undefined index: getxml in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 75

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined index: s_menu in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 30

Notice: Undefined offset: 161 in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 44

Notice: Undefined index: business-semantic.ru/products in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: business-semantic.ru/products/bus in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: business-semantic.ru/products/bus/performance in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: url in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 277

Notice: Undefined index: 2_161_1 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 88

Notice: Undefined property: LangContainer::$pagename in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 102

Notice: Undefined index: getxml in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 75

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined index: s_top_menu_divs in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 30

Notice: Undefined offset: 166 in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 44

Notice: Undefined index: 2_166_1 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 88

Notice: Undefined property: LangContainer::$pagename in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 102

Notice: Undefined index: getxml in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 75

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined index: fragments in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 182
Производительность системы Бизнес Семантика
English version
+7(343) звоните:2 110 256

Производительность системы "Бизнес Семантика"

При проектировании внедрения системы "Бизнес Семантика" необходимо четко понять требования к пропускной способности шины обмена. При этом нужно опираться на предполагаемые объемы и интенсивность обмена данными. Исходя из этого, станут понятны технические параметры сервера для размещения системы, и интервал опроса сервера, который нужно установить на клиентах. Эта статья дает всесторонний обзор производительности базовой версии сервера и клиента "Бизнес Семантика" при передаче данных в текущем режиме. Производительность нашего ПО в режиме блочной передачи данных, предназначенном для первоначальной синхронизации информации в интегрируемых системах, будет рассмотрена отдельно. Производительность "промышленной" версии "Бизнес Семантики" также остается за рамками этой статьи.

Тесты проводились на Linux-сервере скромной конфигурации (процессор 2x AMD Athlon(tm) II X2 240). Для проведения тестов более чем на одной машине, для размещения клиентов использовались компьютеры с процессором Intel Core 2 Duo 1.6 Mhz. В качестве клиентских систем выступал веб-коннектор в сочетании с базой MySQL систем index.CRM и Index5.

Для теста использовалась онтология, включающая два типа информационных объектов ("клиент" и "контакт с клиентом"), и 4 свойства этих объектов. Со стороны одной из клиентских систем база заполнялась случайными данными (генерировалось несколько сотен клиентов и контактов), затем происходила передача этой информации серверу, и ее распространение по другим клиентским системам. Все измерения, связанные с объемом информации, базируются на числе записей; число триплетов можно определить как число передаваемых записей, умноженное на 4. Число свойств слабо влияет на скорость обработки.

Следует отметить, что на клиенте-получателе передаваемые записи создавались, а не обновлялись - создание записи требует бОльших ресурсов.

Эффективная скорость передачи и оптимальный размер пакета

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

Эффективная скорость обработки данных в системе Бизнес Семантика

Как мы видим, оптимальная скорость обработки достигается при размере пакета в 100 записей. Полный цикл обработки такого пакета происходит, на нашем тестовом оборудовании, за 1.13 секунды. Значит, частоту опроса сервера клиентом разумно будет установить равной 2 секундам (при конфигурации с двумя клиентами), а максимальный размер пакета ограничить 100 записями. Это позволит гарантировать, что все пакеты будут обработаны вовремя, и обеспечит максимальную пропускную способность шины обмена (при такой конфигурации она составит 180 000 записей в час, или 720 000 триплетов в час). Разумеется, при других условиях эти показатели могут быть другими - нашей задачей было продемонстрировать алгоритм определения оптимальной частоты опроса и размера пакета.

Распределение нагрузки между сервером и клиентом

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

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

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

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

Изменение нагрузки при росте числа систем

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

Нагрузка на систему интеграции при объединении нескольких клиентских систем

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

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