Отличия от Инфо-Сервера 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 поставляются:
- программа для управления службой "Агент Инфо-Сервера 2.0"
- программа для генерации файлов сертификатов openssl.exe, набор bat-файлов для ее запуска и документация.