Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Периодическая перезагрузка сервера и (до кучи) oplocks

 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Технический форум БЭСТ-4
View previous topic :: View next topic  
Author Message
EugeneT



Joined: 23 Mar 2004
Posts: 130
Location: Токарев Евгений
Occupation: Класс
Interests: Магнитогорск

PostPosted: 23 Mar 2004 11:28    Post subject: Периодическая перезагрузка сервера и (до кучи) oplocks Reply with quote

В определенные моменты времени БЕСТ начинает жутко тормозить. Перезагружаешь сервер, все опять работает быстро. Сервер NT4, клиенты (20 шт.) NT4ws и W2k.
А до кучи еще. Влияет ли включение/отключение oplocks на производительность БЕСТ?
Back to top
View user's profile Send private message
Sam



Joined: 18 Mar 2002
Posts: 486
Location: Чикуров Семен Владимирович
Occupation: РУСАЛ-ВАМИ
Interests: Санкт-Петербург

PostPosted: 23 Mar 2004 13:03    Post subject: Re: Периодическая перезагрузка сервера и (до кучи) oplocks Reply with quote

EugeneT wrote:
В определенные моменты времени БЕСТ начинает жутко тормозить. Перезагружаешь сервер, все опять работает быстро. Сервер NT4, клиенты (20 шт.) NT4ws и W2k.

Может для начала имеет смысл посмотреть запущенные процессы и их нагрузку на систему.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
EugeneT



Joined: 23 Mar 2004
Posts: 130
Location: Токарев Евгений
Occupation: Класс
Interests: Магнитогорск

PostPosted: 23 Mar 2004 13:44    Post subject: Reply with quote

Имеет, имеет. Смотрели, ничего криминального. Загрузка 1-2%. Файловый ввод/вывод просто летает. Тормозит только БЕСТ.
Back to top
View user's profile Send private message
Sam



Joined: 18 Mar 2002
Posts: 486
Location: Чикуров Семен Владимирович
Occupation: РУСАЛ-ВАМИ
Interests: Санкт-Петербург

PostPosted: 25 Mar 2004 18:36    Post subject: Reply with quote

А в чем именно проявляется торможение БЭСТа - долго запускается или еще ч
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Magistr



Joined: 19 Aug 2002
Posts: 1264
Location: Петрунин Д.Н.
Occupation: Инженер-программист
Interests: Н.Новгород

PostPosted: 26 Mar 2004 21:22    Post subject: Re: Периодическая перезагрузка сервера и (до кучи) oplocks Reply with quote

EugeneT wrote:
В определенные моменты времени БЕСТ начинает жутко тормозить. Перезагружаешь сервер, все опять работает быстро. Сервер NT4, клиенты (20 шт.) NT4ws и W2k.
А до кучи еще. Влияет ли включение/отключение oplocks на производительность БЕСТ?


Я в свое время разбирался с opportunity locks на W2K Server - доки почитал на microsoft, всякие там ключики реестра узнал, которыми можно настраивать эти блокировки.

По идее, opplocks должны повышать быстродействие, однако я пришел к выводу, что при многопользовательском доступе к базам Б4, opplocks быстродействие нисколько не повышают. В доках на MS пишут, что старые DOS программы могут некорректно работать, если на сервере включены opplocks, однако у меня на серверах opplocks включены и проблем никаких нет.

А суть в том, что opplocks эффективны, когда файлы открываются несколькими клиентами только в режиме чтения, однако Б4, даже когда формирует отчеты (а это основной "тормоз"), открывает файлы в режиме read/write, что приводит к невозможности использовать opplock в отношении таких файлов (за исключением монопольного режима, когда с БД работает один человек). Вот если б Б4 во время формирования отчетов открывал файлы в режиме read/deny write, но это, похоже, невозможно

Opplocks реально повышают быстродействие (~ в 3 раза), когда с файлами БД работает только один человек (монопольный режим).

Если opplocks отключить, то скорость работы (читай скорость формирования отчетов) в монопольном режиме упадет приблизительно в 3 раза, а скорость работы в многопользовательском режиме не изменится.

Я отсавил opplocks включенными, т.к даже если с БД работают много пользователей, иногда бывает так, что в каком-то из модулей Б4 работает только один человек, вот тогда у него отчеты "летают".

Мне раньше бухи частенько задавали вопрос, почему один и тот же отчет изредка формируется за 5 минут, а чаще всего за 15 - я их немножко "просвятил" в этом вопросе, теперь все "долгие" отчеты запускаются на сервере в терминальном режиме и формируюися существенно быстрее.

Как windows "отдает" расшаренные файлы в многопользовательской среде? Вот так (схема 1):

* клиент - хочу прочитать N байт по смещению Z из файла X, давай поставим лок на этот кусок
* сервер - Ok, я лок поставил
* клиент - ну тогда давай мне эти N байт
* сервер - без проблем, на тебе
* клиент - спасибо, сними лок
* сервер - ну и ладнеько, лок снят

И так повторяется для каждой операции чтения. Причем, даже если клиенту несколько раз подряд потребуется один и тот же блок данных, он каждый раз будет обращаться к серверу (данные не кешируются на клиенте), т.к их кто-то другой может изменить. Это схема именно в многопользовательской среде, когда файл открыт на чтение/запись более чем одним клиентом. Такая же схема будет, если с файлом будет работать только один пользователь и на сервере отключены opplocks. А вот если opplocks включены, то схема такая (схема 2):

Инициализация:

* клиент - хочу открыть файл X на чтение/запись и поставить на него opplock
* сервер - файл открыт, если кто-то другой откроет это файл на запись, я тебе сообщу

Запрос данных. Поскольку работа в режиме opplock, блокировки не накладываются и клиент сразу запрашивает данные, т.е вместо 3-х запрос-ответов выполняется только 1 запрос-ответ:

* клитент - давай N байт по смещению Z из файла X
* сервер - на (чуешь как быстро я стал работать!)

Далее еще круче. Если клиенту нужно еще раз обратится к ранее считанному блоку, то клиент не обращается к серверу, а читает эти данные из локального кеша, что нехило ускоряет работу. Более того, клиент может кешировать у себя ЗАПИСЬ в файл (можно запретить кеширование записи через реестр). Вообще говоря, кеширование записи не безопасно, т.к пользователь может думать, что все записалось, а на самом деле все в локальном кеше и если вдруг в такой момент локальный комп вырубится, то прокешированные данные будут потеряны, а целостность БД Б4 может быть разрушна.

Если 2-й клиент пытается получить доступ к файлу X, то прежде чем 2-й клиент получит доступ, сервер сообщает первому клиенту, что opplock "разрушен", тогда 1-й клиент должен высвободить свой запись-кеш (отправить на сервер модифицированные блоки данных). После чего оба клиента работают по схеме 1.

То есть oplock существует при любом из следующих условий:
- файл открыт на чтение или чтение/запись только одним клиентом
- файл открыт несколькими клиентами только на чтение.

Если файл открыт многими клиентами только на чтение, то oplock "живет" и все работают "шустро", но как только какой-то другой клиент захочет открыть этот файл на запись, oplcok разрушается, причем этот "противный" клиент не получит доступ к файлу пока сервер не известит всех других подключившихся о том, что oplock разрушен и они (клиенты) больше не могут использовать свой локальный кеш и должны теперь запрашивать данные по схеме 1 - то есть здесь возникает задержка, замедление для "противного" клиента. Если б opplock-а не было, то серверу не пришлось бы тратить время на извещение других клиентов. А может быть ситуация, когда один из клиентов открыл файл и завис, а сервер пытается этого клиента известить и ждет от этого клиента подтверждения - еще один подводный камень (правда, это редко случается).

Так вот он какой, этот "бесполезный" oplock от MS aka Microsoft
_________________
http://v32.ru - печать и экспорт в Excel отчетов БЕСТ4.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Технический форум БЭСТ-4 All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru