В долгах как в шелках. Рост рынка потребительского кредитования. Правила денег от Уоррена Баффета, инвестора №1 в мире.

Тестирование работы приложений с точки зрения сетевой производительности

Алфавитно-цифровой терминал

В качестве терминального сервера использовался ASP Linux с установленным Developer 6i Release 2. Никаких изменений в код не вносилось, библиотеки и формы приложения были просто на нем перекомпилированы. С клиентской машины пользователь с помощью эмулятора терминала запускал telnet-сессию на терминальном сервере и именно этот трафик измерялся. Фактически терминальный сервер являлся обычным клиентом (только операционная система была UNIX, а не Windows) в привычной клиент—сервер архитектуре.

В табл. 1 приведены результаты работы формы в различных условиях:

Таблица 1

Действие Байты Пакеты Общая сумма
с сервера от клиента с сервера от клиента байты пакеты
Первичная загрузка 14 090 1472 24 27 15 562 51
Вторичная загрузка 12 234 1146 20 21 13 380 41
Ввод первого док-та в форму 18 394 6651 75 122 25 045 197
Ввод N-го док-та в форму 16 375 6759 72 124 23 134 196

Особенности работы через терминал ясно видны из табл. 3: объемы байтов с сервера и от клиента различаются в несколько раз. Терминал (точнее его эмулятор) передает от клиента только нажатия клавиш, а получает в ответ объемную информацию об изменениях областей экрана. Поэтому от клиента идет много мелких пакетов — в среднем 55 байт на пакет (ввиду особенностей протокола telnet минимальный размер пакетов даже при нажатии на одну клавишу составляет около 50 байтов. Это видно при детальном рассмотрении пакетов), а с терминального сервера почти вдвое меньше пакетов, но значительно более крупных — по 245 байт. В силу особенностей данной компоновки весь SQL*Net трафик проходит между терминальным сервером и сервером базы данных. Одновременно проводились замеры и этого трафика. Но, как и ожидалось, результаты полностью совпали с полученными на чистом клиент/сервере (см. предыдущий пункт).

Разница между первичным вводом и последующими невелика — около 8% по байтам и меньше 1% по пакетам. Совпадение по пакетам объясняется тем, что трафик генерируется нажатиями на клавиши при вводе документа, а большая разница по объему — необходимостью прорисовать блок ввода при первой загрузке. Фактически экран перерисовывается целиком, поэтому и разница составляет около 2 Кбайтов.

Дмитрий Феофилактов

Статьи, интервью, публикации