Войти
 
 
   
 
  
Новости Notes.ру Библиотека Биржа труда Вопрос - ответ Форум Регистрация Поиск О проекте
Разделы
О Notes
Советы
Шаблоны и примеры
Литература
Презентации
 
Дополнительные инструменты в панели инструментов   
Шаблоны и примеры Читать статью
 
Классы для работы со стабами удалённых документов для Windows64   
Шаблоны и примеры Читать статью
 
Базовые компоненты XPages Extension Library: Widget Container   Серия статьей дающая представление о базовых компонентах Extension Library, их основных свойствах и мест применения
О Notes Читать статью
 


О Notes

Главная   Библиотека   О Notes

Повышение производительности приложений Lotus Notes/Domino. Окончание

Вторая часть статьи, посвященной вопросам повышения производительности приложений для Lotus Notes/Domino
Начало >>>
    Тест 5. Открытие документа из коллекции в окне Lotus Notes для изменения и запись этого документа в БД (FrontEnd методами)



    Результаты этого теста фактически аналогичны результатам теста 4. Однако их сравнительное изучение показывает одну интересную особенность – фактически, все расходы времени при открытии, обработке, сохранении и закрытии документа во FrontEnd приходятся именно на процедуру открытия документа. Так, в БД объемом 447 Мбайт на открытие, изменение, запись и закрытие документа требуется лишь на 1,9% больше времени, чем просто на открытие документа. А в БД объемом 7 Гбайт – всего лишь на 0,2%. Эти результаты сопоставимы с погрешностью эксперимента. Это свидетельствует о том, что для повышения производительности системы следует работать по двум направлениям – сокращать время на открытие документа путем оптимизации его структуры, а также не препятствовать быстрому его сохранению и закрытию.



    Тест 6. Открытие неизменной базы данных в окне Lotus Notes (FrontEnd методом)



    Пожалуй, это один из главных тестов. По опыту нашей работы, наибольшее число проблем производительности Lotus Notes связано с низким значением времени открытия баз данных или отдельных представлений в них. Полученные результаты наглядно демонстрируют, что время открытия БД линейным образом зависит от ее объема. И хотя график зависимости является далеко не однородным, тем не менее, его вид однозначно свидетельствует о том, что приложения Lotus Notes могут успешно хранить и обрабатывать данные действительно огромных размеров.
    Отметим, что время открытия БД значительно зависит не столько от количества документов (и, соответственно, ее объема), сколько от соразмерности этого количества и ее внутренней структуры. Для БД небольшого объема (до 0,5 Гбайт) это влияние не столь заметно. Однако для БД большего объема мы выработали ряд рекомендаций, которые могут значительно снизить время их открытия:
    1. На время открытия БД значительную роль оказывают отметки о прочтении документов – для больших БД следует от них отказаться. Это в некоторых случаях (БД большого объема, содержащая несколько сотен тысяч документов небольшого объема – до 5-10 Кбайт и использующих иерархическую структуру) может привести к сокращению времени открытия БД в 2 и более раза (рисунок ниже).
    2. Следует сократить количество представлений. В любом случае их должно быть не больше 10-15, оптимально – 4-6 представлений.
    3. Следует критически подойти к дизайну представлений – все ли столбцы в них нужны для работы? Во всех ли столбцах имеет смысл использовать сортировку? и т. д. Например, для столбцов, отображающих данные значками, однозначно следует отключить сортировку.
    4. В каждом представлении на закладке «Дополнительно» следует рассмотреть, какой режим обновления необходимо применять (свойство «Обновление» в разделе «Индекс»). Наиболее ресурсоемкий режим – это обновление при каждом изменении документа. По нашему опыту, он может быть реально востребован крайне редко. Более приемлемый вариант – это автоматическое обновление представлений – БД с таким дизайном представлений открывается значительно быстрее. И, наконец, самый подходящий вариант – это ручное обновление представлений. В этом случае БД даже большого объема может открываться практически моментально. Отметим, что применение ручного варианта обновления означает лишь то, что при добавлении новых документов в данном представлении обновление на экране пользователя не будет произведено автоматически – для этого пользователю надо будет нажать F9. Если же он закроет БД и потом откроет снова – это обновление уже будет отражено. Поддержка же индекса представления при добавлении или модификации документов сервер осуществляет как обычно. Фактически, единственным недостатков этого режима является то, что при добавлении документа в БД и использовании поисковых методов, таких как GetDocumentByKey класса NotesView, Lotus Notes может не обнаружить искомый документ – хотя на самом деле он в БД уже присутствует. Для этого, в случае неудачи при поиске есть смыл вызвать метод Refresh класса NotesView и повторить поиск. При этом перед вызовом метода Refresh рекомендуется изменить свойство DelayUpdates базы данных в значение True (db.DelayUpdates = True). Это приводит к фактически моментальному выполнению метода Refresh за счет кэширования изменений в виде – Lotus Notes не ждет окончания выполнения этого метода и переходит к следующему оператору сразу же.


    Эффективность отказа от отметок о прочтении документов. При разработке 3-й версии медицинской информационной системы Кондопога мы отказались от них для баз данных ядра системы – и получили фактически двукратное сокращение времени открытия БД.


    Тест 7. Изменение документов в базе данных и ее открытие с обновлением текущего открытого представления (FrontEnd методами).

      Результаты последнего, 7-го теста аналогичны предыдущему. Отличие состоит в том, что перед открытием БД программа LNMark производила имитацию значительной активности пользователей – меняла значения полей в документах и вызывала обновление представлений. Как и в предыдущем тесте, время открытия БД достаточно сильно зависит от объема БД, однако вид этой зависимости иной – логарифмический. Это свидетельствует в пользу высокой готовности Domino к созданию и обслуживанию сложных и ресурсоемких приложений, способных хранить и успешно обрабатывать базы данных с сотнями тысяч документов объемом в несколько гигабайт.
    Часть первая >>>

      Литература
      1. Watt D., McKnigth G., Clar J.-J., Gatti M., Heuer N. Tunning IBM @server xSeries Servers for Performance. / D. Watt, G. McKnigth, J.-J. Clar, M. Gatti, N. Heuer IBM Corp. 2002. 866 p.
      2. Lotus Notes и Domino 6. Руководство разработчика / Стив Керн, Дебора Линд, Дебора Пенни и др.: Пер. с англ. – К.: ООО «ТИД «ДС», 2005. – 880 с.
      3. Поляков Е. В. Domino Designer R 6.5 – интегрированная среда разработки приложений в Lotus Domino / Интертраст, 2005. – 640 с.


      Об авторах
      Гусев Александр Владимирович – к. т. н., старший инженер-программист вычислительного центра ОАО «Кондопога», e-mail: gusev@kbk.onego.ru
      Дмитриев Александр Геннадьевич – инженер-программист вычислительного центра ОАО «Кондопога», e-mail: dmitriev@kbk.onego.ru

      Материалы этой статьи используются в практической работе программистов вычислительного центра, более детальная информация может быть получена на сайте медицинской информационной системы Кондопога (http://iskondopoga.snw.ru) и на сайте Карельского научно-медицинского центра СЗО РАМН (http://iskondopoga.narod.ru).
    Смотрите также русскоязычные материалы на сайте IBM:
    Производительность сервера Lotus Domino 7. Часть 1. Рабочие нагрузки от клиентов Lotus Notes >>>
    Производительность сервера Lotus Domino 7. Часть 2. Производительность Domino 7 для пользователей Domino Web Access >>>
    Производительность сервера Lotus Domino 7. Часть 3. Производительность корпоративной почты >>>

      Авторы выражают огромную и искреннюю признательность Николаю Норкину за помощь и советы в подготовке этого материала.
       
        Опубликовано — 11/21/2005 |    
    Constantin, 07.01.2007:
    По поводу db.Search: >– документы в этой коллекции распологаются в хронологическом порядке создания документов в этой базе данных. Судя по поведению этого метода с НЕпустым 2-м параметром (поиск в базе из 2 000 000 док-тов занимает доли секунды, если ищем док-ты за последний час), коллекция скорее должна быть отсортирована по дате ОБНОВЛЕНИЯ (по OID?).



    Добавить комментарий
    Имя * :
    e-mail
    Комментарий * :
    Код подтверждения * :

    Мероприятия
    18.12.2012   Опыт реализованных проектов на базе технологий IBM
    24.10.2012   Решения IBM для построения надежной ИТ-инфраструктуры и сервисов
    09.10.2012   Форум «Ударим СЭДом по бездорожью, разгильдяйству и непрозрачным бизнес-процессам! Система электронного документооборота CompanyMedia 4.0: вперед в будущее!»
    Пресс-релизы
    02.06.2011   ООО "АДБ.РУ" выпустило очередную версию системы управления контентом для Lotus Domino - Logosphere 2.7.
    21.01.2010   Компания «Поликом Про» выполнила для компании «Синергия» пилотный проект по внедрению системы защиты электронной почты IBM Lotus Protector for Mail Security
    22.12.2009   Новые технологии разработки приложений на базе Lotus Domino
    Биржа труда
    18.04.2012 - разработчик Lotus Notes (ОАО "УРАЛСИБ")
    26.07.2011 - Программист Lotus (удаленная работа) ()
    06.06.2011 - Эксперт (Lotus Notes/Domino) (Крупный банк (ТОП-5))
    Последнее на форуме
     
    А так же:
    Как удалить профиль?
    16.04.2016 00:08:51
    Скопировать в буфер поле документа
    24.05.2015 08:55:52
    Импорт DXL-описания документов в Lotus Domino. Одноимённые поля
    16.04.2015 16:49:58
     
    © LOGOSPHERE.RU