Re: О взаимной блокировке операторов



Posted by Владимир Секретев, Клуб Любителей Бухгалтерского Учета on July 27, 1999 at 00:34:11:

In Reply to: О взаимной блокировке операторов posted by Evgen A. Palamarchuck on July 16, 1999 at 08:10:42:

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

Однако, давайте рассмотрим более простую и, одновременно, наиболее худшую ситуацию, когда такой оптимизации нет, и попробуем КОЛИЧЕСТВЕННО оценить при каких условиях наступит перегрузка сервера.


Дано:
Операторы - это люди. Они начинают жаловаться на "медленнодействие" системы, когда ожидание превышает некоторый психологический порог. По моим клиентам я могу сказать, что они начинают жаловаться, когда вынуждены ждать более 20 секунд. Среднее время выполнения запроса у меня примерно 2 сек. (Не только отчетных форм, а запросов вообще.) Операторы, при интенсивной работе, порождают запросы примерно со скоростью 1 запрос в 60 секунд.

Вопрос:
Сколько операторов надо заставить работать одновременно, чтобы время реакции системы стало 20 сек?

Несложный расчет показывает, что много.

N = 20*60/2 = 600 (операторов)

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

Выводы:
Производительная емкость системы огромна. Трудно себе представить учетную задачку, в которой бы было задействовано 600 одновременно работающих источников и "запросчиков" информации.
Однако, эти цифры легко достижимы при неумелом использовании системы. Например, когда 30 пользователей понаоткрывают 20 отчетных форм на своих рабочих местах в режиме автообновления.

Рекомендации:
1. Писать быстро работающие ОФ.
2. Научить пользователей устанавливать ОП в один день при интенсивном вводе операций.
3. Отключать автообновление.

P.S. По моим клиентам я могу сказать, что в среднем на одного оператора приходится 1000 операций в месяц. Иными словами они регистрируют 1000/20(раб.дн.)/8(час.) = 6.25 (оп/час.) или 1 операция за 10 минут. Для расчета я взял интенсивность работы в 10 раз превышающую среднюю.



Пpишедшие ответы: