начало выбор продуктов   карта сайта контакт поддержка english
  о наспродукты и решенияit-услугитренингикупить  
 

о насотзывыпубликациипартнерствовакансии

 
публикации

 

- White Papers
- Публикации на сайте
- Буклеты ProLAN
- Публикации в журналах
- Статьи из Базы Знаний
- Пресс-релизы
- Клуб Экспертов

 

 

к выбору публикации

Отчет компании ПроЛАН о результатах исследовования прикладного ПО.

Отчет компании ПроЛАН о результатах исследовования прикладного ПО. Отчет дает ответ о том, почему при большом запасе пропускной способности сети и сервера, время реакции ПО начинает "деградировать", если число одновременно работающих пользователей превышает 4. Кроме этого, в отчете показано, как выводятся формулы, предназанченные для определения того, какое "узкое место" сети следует устранять в первую очередь. Формулы были приведенны в статье "Узкие места" в локальных сетях", опубликованной в журнале LAN, сентябрь, 1998.

Вместо предисловия.

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

Отвечаем. Приведенные в статье формулы были выведены нами в 1996 году в процессе исследования прикладного ПО "Х". Исследование проводилось нами по заказу фирмы-разработчика этого ПО. Убрав название ПО, мы приводим отчет об исследовании ПО практически полностью. Поскольку данный отчет был предназначен для узкого круга пользователей, просим извинить нас за несколько "академический" стиль изложения материала.

С нашей точке зрения изложенная в отчете методика и выводы могут быть интересны не только пользователям пакета "Х". Выявленные дефекты (или, если угодно, особенности) характерны для широкого спектра программных продуктов, реализованных с использованием файловых (не клиент-серверных) СУБД.

Отчет составил эксперт компании ProLAN: Подлазов Виктор Сергеевич. С ним можно связаться по адресу: netproblems@testlab.ipu.rssi.ru

Некоторые особенности работы в сети прикладного ПО, реализованного с использованием файловой СУБД

1.Введение

Фирма ProLAN по заказу фирмы разработчика провела исследование сетевого поведения бухгалтерского пакета "Х" для Windows 95, основанного на файловых операциях. Исследование ставило перед собой три задачи:

выявление нагрузочных характеристик пакета на типовых операциях и их трактовка;

разделение вклада рабочих станций и сетевого оборудования в наблюдаемые времена выполнения типовых операций;

выявление чувствительности пакета к особенностям поведения отдельных станций.

Решение этих задач имело конечной целью выработку рекомендаций пользователям по более оптимальной эксплуатации пакета "Х" в локальной сети.

Методика исследования состояла в проведении нагрузочных и трассовых измерений для типовых операций с переменным числом рабочих станций в разнообразных сетевых средах и в различных сетевых условиях. Нагрузочные измерения проводились с использование анализатора сетевых протоколов. Измерения проводились на базе данных небольшого размера (несколько мегабайт).

Измерения проводились для сетей Netware и NT со специализированными файловыми серверами и для одноранговой сети Windows 95 с назначенным файловым сервером, функции которого выполняла одна из рабочих станций. Измерения проводились при использовании различных сетевых клиентов (Microsoft и 32-разрядный Novell) и для различных сетевых протоколов (IPX, NETBIOS и NETBEUI).

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

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

2. Нагрузочные измерения и их трактовка

В приведенной ниже таблице приводятся времена выполнения операции поиска в зависимости от числа одновременно выполняющих данную операцию рабочих станций (столбец N). Время измеряется в единицах длительности выполнения данной операции в сети Netware на одной станции. В сети Netware использован 32-разрядный сетевой клиент Novell.

Аналогичные результаты получаются и для операции "листания", но для нее трудно добиться точной одновременности проведения операции на всех рабочих станциях. Поэтому данные результаты не приводятся.

Таблица 1 (Time)

N

NetWare

NT

W95-IPX

W95-NETBEUI

W95-NETBIOS

1

1

1.15

1.13

1.25

1.39

2

1.03

1.23

1.28

1.4

1.59

3

1.14

1.37

1.55

1.81

1.94

4

1.26

1.52

1.98

2.37

2.48

5

1.4

1.74

2.56

3.21

3.32

6

1.61

2.06

7

1.79

2.44

Здесь и в следующих таблицах:

столбец "Netware" - сервер Netware 4.11 (процессор Intel 486 DX4/100 16Mb RAM, IDE disk);

"NT" - сервер Windows NT3.51 (процессор Intel Pentium 90 32Mb RAM, IDE disk), использовался только протокол NETBEUI;

"W95-IPX" - рабочая станция Windows 95, на которой эмулировался сервер Netware (процессор Intel 486 DX4/100 16Mb RAM, IDE disk);

"W95-NETBEUI" - рабочая станция Windows 95, c запущенной службой разделения файлов Microsoft (процессор Intel 486 DX4/100 16Mb RAM, IDE disk), использовался только протокол NETBEUI;

"W95-NETBIOS" - рабочая станция Windows 95, c запущенной службой разделения файлов Microsoft (процессор Intel 486 DX4/100 16Mb RAM, IDE disk) использовался только протокол IPX-NETBIOS;

По результатам, приведенным в таблице, можно сделать несколько выводов.

Во-первых, имеет место достаточно быстрое нарастание времени выполнения операции с его удвоением при одновременной работе 5-7 станций.

Во-вторых, наибольшее быстродействие показала сеть Netware. Этот вывод еще усиливается тем обстоятельством, что в качестве сервера использовалась обычная рабочая станция (486 процессор и 16 Мбайтное ОЗУ), настроенная как сервер Netware 4-11. Сервер NT имел процессор Pentium-90 и 32 Мбайтное ОЗУ). В сети NT использовался протокол NETBEUI, заменить который было нельзя.

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

Ниже, для наглядности, эти же результаты приводятся в графическом виде:

 

Рисунок 1

Для того, чтобы понять причины вышеописанного поведения необходимо рассмотреть степень использования сетевых ресурсов: канала (Chanel Utilization) и процессора сервера (Server Utilization). Они приведены в следующих таблицах 2 и 3.

Таблица 2 (Chanel Utilization)

N

NetWare

NT

W95-IPX

W95-NETBEUI

W95-NETBIOS

1

0.6

0.6

0.6

0.6

0.5

2

0.12

0.12

0.12

0.11

0.1

3

0.17

0.17

0.17

0.16

0.14

4

0.2

0.2

0.2

0.18

0.15

5

0.23

0.21

0.21

0.19

0.16

6

0.25

0.22

7

0.26

0.23

Таблица 3 (Server Utilization)

N

NetWare

NT

1

0.16

0.2

2

0.26

0.4

3

0.37

0.5

4

0.44

0.6

5

0.5

0.65

6

0.53

0.67

7

0.57

0.67

По результатам, приведенным в этих таблицах, можно сделать следующие выводы.

Во-первых, при числе станций больше 3 прекращается линейный рост утилизации (загрузки) канала и утилизации сервера и проявляется какое-то ограничение сверху для роста утилизации каждого из сетевых ресурсов. Это и служит причиной быстрого увеличения времени выполнения операции.

Во-вторых, наблюдаемые уровни этих верхних ограничений далеки от предельно допустимых для каждого из сетевых ресурсов, особенно для канала (утилизация далека от 100%). Это значит, что сетевые ресурсы по какой-то внесетевой причине в значительной мере недоиспользуются.

Ниже, для наглядности, зависимости утилизации сервера и канала от числа одновременно работающих станций приводятся в графическом виде:

 

Рисунок 2

 

Рисунок 3

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

Оказывается дело в том, что даже пассивные операции поиска и листания в пакете "Х" осуществляются с блокированием записей в индексных файлах базы данных. В случае возникновения конфликтов нескольких рабочих станций на некоторой записи, работа всех их, кроме одной, полностью блокируется (останавливается) до завершения операции обработки записи не блокированной станцией. Затем возможность выполнить обработку данной записи получит опять только одна станция и т.д. Время обработки записи достаточно велико (10-15 млсек). В операциях поиска и листания активно используется всего четыре индексных файла. Когда количество одновременно работающих станций превышает четыре, вероятность конфликта на записях становится достаточно большой, чтобы сказаться на времени выполнения всей операции.

Кроме этого прослеживается еще и дополнительная задержка в тех случаях, когда сервер успевает оповестить рабочие станции о блокировке записей. В этом случае поведение станции зависит от установленного на ней сетевого клиента. В случае клиента Microsoft станция задерживает повторную попытку на 50 млсек, а в случае 32-разрядного клиента Novell - повторяет попытку сразу же после получения оповещения о блокировке. В последнем случае для 5 одновременно работающих станций время выполнения операции листания на 15% и операции поиска на 20% меньше. Такие данные и приведены в таблице 1 для сети Netware. После того, как мы заставили и клиента Microsoft повторять попытку обработки записи немедленно, наблюдалось такое же уменьшение времени выполнения операций листания и поиска.

Теперь обратимся к результатам, полученным на активной операции проводки в документе. К сожалению нагрузочных измерений на этой операции провести невозможно, так как она проводится с блокированием операции занесения во все индексные файлы. Это приводит к тому, что такую операцию может одновременно выполнять только одна рабочая станция. Сетевые ресурсы при этом загружаются очень незначительно: канал - на 5%, а сервер - на 16%. Проведение активной операции на фоне пасcивных операций, выполняемых несколькими рабочими станциями, показывает незначительное увеличение времени выполнения активной операции: на 20% при 4 станциях и на 40% при 6 станциях, одновременно выполняющих пассивную операцию.

При этих испытаниях удалось случайно выявить явную ошибку в пакете, ведущую к зависанию сети, которое можно снять манипуляциями только на одной рабочей станции. К возникновению зависания ведет следующий сценарий. Запускается операция поиска в журнале операций одновременно на 2-3 рабочих станциях и затем запускается операция проводки в документе одновременно еще на двух рабочих станциях. Эта операция пойдет только на одной станции, а вторая получит оповещение о блокировки с предложением повторить запуск. Если повторный запуск сделать сразу после завершения активной операции на первой станции, то одна из станций, ведущих операцию поиска зависнет. При этом останутся заблокированными как станция, ведущая активную операцию, так и станции, ведущие поиск. Зависшая станция выдаст сообщение о завершении операции поиска, хотя по времени он еще не может быть завершен. Снятие этого сообщения еще не ведет к разблокировке сети. Только дополнительные действия в журнале операций, хотя бы простейшее выделение строки приводит к снятию блокировки.

3. Разделение задержек сетевого прикладного ПО посредством простых сетевых экспериментов

3.1. Общий подход

Между разработчиками сетевых прикладных пакетов и эксплуатационниками ЛВС при медленной работе пакетов на отдельных операциях часто возникает спор о том, "кто виноват" в этом - пакет или сеть, и "что делать" - ставить более быстрые рабочие станции, а может и дорабатывать пакет, или ставить более быстрые канал и/или сервер, и каков будет эффект от этих действий? В случае, когда пакет реализован на файловых операциях в сети с файл-сервером, ответ на этот вопрос в первом приближении можно получить в результате простых сетевых экспериментов с измерением времени исполнения подозрительных операций в различных условиях.

Что мы хотим измерить и что мы можем измерить в этих экспериментах? Пусть в сети подозрительная операция исполняется на одной рабочей станции за время T1. Это время слагается из времени работы станции X, времени работы сервера Y и времени работы канала связи Z. В качестве этих времен берется суммарное время активной работы каждого ресурса - станции, сервера и канала. Очевидно, все они связаны уравнением:

Наша задача (мы хотим) узнать значения величин X, Y и Z. Если время превышает время , то наибольший эффект даст повышение быстродействие рабочих станций. При обратном соотношении наибольший эффект даст повышение быстродействие сетевых ресурсов. Если Y > Z, то в первую очередь надо повышать быстродействие сервера, а при обратном соотношении времен - быстродействие канала.

При проведении измерений с использованием анализатора сетевых протоколов, величина Z фактически известна, так как она связана с величиной утилизации канала U1 соотношением:

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

Пусть время выполнения операции в этом эксперименте составляет время T2. Эту величину мы можем померить. Обозначим через Pz и Py вероятности конфликта рабочих станций за ресурсы канала и в сервера в эксперименте с одной рабочей станцией. Они задаются выражениями:

В эксперименте с двумя станциями конфликт за ресурс приводит к его разделению станциями во времени, что увеличивает время выполнения операции на величины 0.5Py Y и 0.5Pz Z. Теперь, в предположении независимости конфликтов в канале и на сервере, а также в предположении отсутствия конфликтов на заблокированных записях, величины X, Y и Z можно связать еще одним уравнением:

Из приведенных уравнений 1 и 2 , следует что

Однако предположение о независимости конфликтов в канале и на сервере заведомо не выполняется при передачах от станций к серверу. В этом случае конфликт в канале с вероятностью 1 приводит к конфликту и на сервере. Учет этой зависимости дает вместо уравнения 3 следующее уравнение:

При этом выражение 4 заменяется на следующее:

3.2. Эксперименты с пакетом "Х"

Эксперименты на сетях Netware, NT и Windows 95 для величин T1 ,T2 и U1 дали значения приведенные в следующей таблице:

Таблица 4

NetWare

NT

Windows95

T1

435 s

455 s

485 s

T2

458 s

488 s

550 s

U1

0.06

0.06

0.06

Значения величин X, и Y, рассчитанные по приведенным формулам 2, 6 и 1, приводятся в следующей таблице:

Таблица 5

NetWare

NT

Windows 95

Z (канал)

26 s

27 s

29 s

Y (сервер)

140 s

172 s

250 s

X (станция)

269 s

256 s

206 s

Рассмотренная модель позволяет наглядно разделить влияние на время выполнения типовой задачи загрузки процессора сервера и всего сервера в целом с учетом загрузки дисковой подсистемы. Для сетей Netware и NT время работы процессора сервера P вычисляется по величине его утилизации. Для этого используется формула, анологичная формуле 2 и величины утилизации берутся из таблицы 3, а значения приводятся в следующей таблице:

Таблица 6

P

70 s

91 s

Сравнение значений Y и P показывает, что влияние дисковой подсистемы можно учесть и что для данной задачи оно сравнимо с временем процессора и поэтому удваивает время, затрачиваемое сервером в целом, по сравнению с временем, затрачиваемым процессором сервера.

Проведенные измерения при всей их грубости позволяют сделать вывод, что для повышения производительности пакета "Х" в сетях Netware, NT и Windows 95 надо в первую очередь повышать производительность рабочих станций, и лишь затем - производительность сервера. Практически мало чего даст повышение пропускной способности канала.

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

4. Чувствительность пакета "Х" к наличию неисправных станций в сети

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

Было проведено тестирование сети тестовыми пакетами фирмы ProLAN: DTest и FTest. Тестирование показало особую активность подозрительной карты в борьбе за канал и наоборот крайнюю пассивность при проведении файловых операций. По-видимому, данная карта осуществляет борьбу за канал каким-то некорректным образом, что ведет к искажению как своих так и чужих пакетов. Так или иначе, станция с неисправной картой была легко выделена при тестировании сети.

В тех случаях, когда неисправная станция участвовала в одновременном проведении операции листания или поиска более чем тремя станциями, сеть ощутимо деградировала, а именно: резко падала загрузка канала и резко возрастало время выполнения операции на всех станциях. Это свойство пакета "Х" было исследовано на сетях Netware и NT. Последняя сеть оказалась более чувствительной к наличию неисправной станции, так как деградация характеристик на ней была выражена сильнее.

5. Выводы и практические рекомендации

Практический диапазон числа рабочих станций, одновременно работающих с пакетом "Х" на пассивной операции (листания или поиска), составляет 1-7 для сети Netware, 1-6 для сети NT и 1-4 для одноранговой сети Windows 95. Для всех этих сетей оптимальным является диапазон 1-3 станции.

Вне оптимального диапазона числа рабочих станций пакет "Х" использует пропускную способность канала и сервера недостаточно эффективно.

Наибольшее быстродействие пакет "Х" показал на сети Netware, наименьшее - на сети Windows 95. В сети Netware наибольшее быстродействие зафиксировано при использовании 32-разрядного сетевого клиента Novell, наименьшее - при использовании сетевого клиента Microsoft. В сети Windows 95 наибольшее быстродействие зафиксировано при использовании протокола IPX, наименьшее - при использовании протокола NETBIOS.

Во всех сетях наибольшая доля времени выполнения пассивной операции приходится на рабочую станцию.

При числе одновременно работающих станций больше трех, быстродействие пакета сильно падает при наличии в сети неисправной или очень медленной рабочей станции.

В соответствии с этими выводами можно сделать следующие практические рекомендации по эксплуатации пакета "Х" в локальной сети.

Использовать сети со специализированными файловыми серверами. Для повышения быстродействия пакета "Х" в сети Netware использовать 32-разрядный сетевой клиент Novell.

Использовать одноранговые сети только в крайних случаях. В этих случаях не допускать использование сервера для посторонних работ. Для повышения быстродействия пакета "Х" в сети Windows 95 использовать протокол IPX.

Для повышения быстродействия пакета "Х" повышать в первую очередь быстродействие рабочих станций.

Периодически проводить тестирование состояния сети с использованием пакетов DTest и FTest фирмы ProLAN и анализатора сетевых протоколов. Такое тестирование позволяет локализовать станции с неисправными сетевыми картами и ранжировать станции по быстродействию.

наверх

о нас   продукты и решения   it-услуги   тренинги   купить  
начало   карта сайта   контакт   поддержка   english