Центр помощи

Отличия от Инфо-Сервера 1.05

Принцип создания сетевых соединений

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

Инфо-Сервер 2.0 не создает отдельное соединения для каждого запроса. Клиент соединяется с сервером при первом запросе, а дальнейшие запросы передаются в контексте этого же соединения. В случае разрыва соединения, клиент, прозрачным для себя образом, создает новое соединение при очередном запросе. Механизм сетевого обмена при этом перестал быть узким местом, а средняя скорость при обработке интенсивного потока запросов выросла на два порядка. Теперь скорость обработки запросов определяется временем их реального обслуживания, а сетевой обмен занимает в этом времени малую долю. При добавлении проводок Инфо-Бухгалтером средняя скорость выполнения запросов составляет 500 запросов в секунду. Это значение, как и пиковая скорость Инфо-Сервера 1.x, определяется скоростью выполнения SQL-запросов BDE. На синтетическом тесте заполнения таблицы базы данных SQL-оператором INSERT измерялась скорость 2300 запросов в секунду. При этом размер таблицы доходил до 1 Гб, а добавление записей осуществляли 120 клиентов.

Время добавления операции с большим количеством проводок (секунды):

Количество проводок в операции
Инфо-Сервер 1.05
Инфо-Сервер 2.0
Без сервера, используя eventnet.db
500
2
2
104
1000
4
4
205
2000
17
7
-
3000
ошибка
10
-
4000
ошибка
14
-
5000
ошибка
18
-
10000
ошибка
34
-

Защита информации

Инфо-Сервер 1.x использует передачу информации по протоколу TCP/IP в незашифрованном виде. Запрос представляет собой строку с разделителями. Сервер баз данных и Web-сервер получают запросы на один и тот же порт.

В Инфо-Сервере 2.0 возможно применение защиты соединения клиентов с сервером баз данных средствами протоколов SSL и TLS (см. "Защита информации"). Web-сервер работает на отдельном порте, он использует открытую передачу данных по протоколу http.

Многопоточность

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

В Инфо-Сервере 2.0 сделаны отдельные потоки для обслуживания сети и для выполнения запросов (см. подробности в "Описании сервера баз данных"). Web-сервер также работает в отдельном потоке. Основной поток производит мониторинг потоков серверов и осуществляет автоматический перезапуск в случае необходимости. Выполнение запросов может осуществляться 1 - 10 потоками. Это позволяет достичь реального параллельного выполнения запросов на многоядерных процессорах.

Клиентская часть

Для работы с Инфо-Сервером 1.x в программе Инфо-Бухгалтер используется библиотека ibsock.dll.

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

Поддержка Unicode

Инфо-Сервер 1.x не использует поддержку Unicode, поэтому может запускаться в Windows 95/98/ME (только как консольное приложение).

Инфо-Сервер 2.0 построен на компонентной базе платформы Инфо-Бухгалтер 10.1, использующей поддержку Unicode. Поэтому для запуска в Windows 98/ME требуется установка специальных пакетов поддержки Unicode (от сторонних производителей). В любом случае, установка Инфо-Сервера на компьютеры с Windows 98/ME не рекомендуется.

Локализация

Инфо-Сервер 2.0 поддерживает вывод текстовых сообщений на русском (по умолчанию) и английском языках. Возможно добавление поддержки других языков без обращения к разработчикам.

Утилиты.

В комплекте с Инфо-Сервером 2.0 поставляются:


См. также: