Производительность
и надежность
Docsvision 5
Антон Варфоломеев   13.06.2012
Docsvision
Введение




                                Слайд: 2
www.docsvision.com
Введение

• Производительность и надежность – главные ориентиры в
  разработке линейки Docsvision 5
• Предпосылки
          Увеличение масштаба внедрений
          Повышение ожиданий клиентов
          Изменение роли СЭД в деятельности предприятий
          …
• Целевая программа: постоянное повышение
  производительности и надежности на протяжении всего
  жизненного цикла Docsvision 5!



                                                           Слайд: 3
www.docsvision.com
RoadMap выпуска платформы

Версия               Docsvision 5.0   Docsvision 5.0   Docsvision 5.0
                                      SR1              SR2
Функциональность     Базовая          Расширенная      Корпоративная


Производительность   До 50         До 500        До 5000
и надежность         пользователей пользователей пользователей

Дата выпуска         15 мая           15 июня          Сентябрь




                                                                  Слайд: 4
www.docsvision.com
Оптимизация редакций




                       Слайд: 5
www.docsvision.com
Производительность:
                        оптимизации




                                           Слайд: 6
www.docsvision.com
Оптимизации: сервер

• Новый сервис полнотекстового поиска
          Позволяет выбрать данные, которые требуется индексировать
          Снижает затраты на полнотекстовое индексирование
          Поддерживает релевантность результатов поиска
          Может быть вынесен на отдельную машину
• StorageServer
       Оптимизирован алгоритм чтения данных и сериализации в Xml
       Оптимизирован алгоритм конкатенации данных в представлениях
       Оптимизирован алгоритм подсчета непрочитанных карточек




                                                                       Слайд: 7
www.docsvision.com
Оптимизации: клиент

• Упрощение и ускорение установки клиентской части
       Всего один инсталляционный пакет вместо 5
       Не требует административных полномочий
• Локальное кэширование данных
       Загружаемые данные (справочники, карточки) кэшируются на диске
        клиента
       Экономия трафика при следующих обращениях
       Повышение быстродействия на узких каналах




                                                                         Слайд: 8
www.docsvision.com
Оптимизации: Навигатор

• Новый Навигатор: отдельное .NET-приложение
• Не требует браузера!
• Автозапуск при старте Windows
      + Ускоряет первое обращение к Навигатору или карточкам по ссылке
      -Постоянно задействует лицензию!
• Сворачивание в трей при закрытии
• Асинхронная загрузка данных
      Хороший выигрыш на многоядерных процессорах
• Постраничная загрузка представлений и “Отмена”



                                                                         Слайд: 9
www.docsvision.com
Выбор при установке




                      Слайд: 10
www.docsvision.com
Оптимизации: карточки

• Асинхронная загрузка данных
       Хороший выигрыш на многоядерных процессорах
• Вынесение медленных операций на сервер
• Предкэширование карточек при запуске Навигатора
       Возможность гибкой настройки
• Пакетная загрузка данных (уменьшение количества
  серверных вызовов)
• Отложенная инициализация элементов управления
• Вычисление ролей через специализированные хранимые
  процедуры


                                                      Слайд: 11
www.docsvision.com
Оптимизации: Workflow

• Новый механизм активации ожидающих функций:
  события
       Push вместо pop
       Полностью убирает “бесполезные” срабатывания функций
       Максимальный выигрыш: задания, мониторинги, и т.п.
• Оптимизация хранимых процедур
       Поиск активных процессов
       Получение проходов функции
       …




                                                               Слайд: 12
www.docsvision.com
Производительность:
                         измерения




                                           Слайд: 13
www.docsvision.com
Методика измерений

• Измерение производительности без нагрузки
  (абсолютные значения)
       Индекс производительности
• Деградация производительности под нагрузкой
  (относительные значения)
       Ухудшение в % относительно абсолютных значений




                                                         Слайд: 14
www.docsvision.com
Характеристики сервера

• Сервер БД
       CPU: 2 * Intel Xeon (4 cores, 2.26 GHz)
       RAM: 6 * 4 GB 1333MHz
       HDD: 4 Tb
• Сервер приложений
       CPU: 2 * Intel Xeon (4 cores 2.26 GHz)
       RAM: 2 GB 1333MHz
       HDD: 3 * 250GB NS
• Сервер нагрузки
       CPU: 2 * Intel Xeon (4 cores, 2.26 GHz)
       RAM: 2 * 9 GB 1333MHz
       HDD: 2 * 250GB NS


                                                  Слайд: 15
www.docsvision.com
Тестовая БД

•   Более 10000 папок, у 5% пользовательские иконки
•   Около 1 500 000 карточек документов
•   Около 3 000 000 файлов (от 0,5 до 1 МБ)
•   Около 3 500 000 заданий
•   22 000 сотрудников в справочнике
•   200 000 контрагентов в справочнике
•   60 000 записей в универсальном справочнике
•   300 видов документов
•   200 ролей
•   100 категорий
                                                      Слайд: 16
www.docsvision.com
Характеристики клиента

• Два разных клиента
• Минимальный
       CPU: Pentium IV 1 Ghz
       RAM: 1 Gb RAM
       Video: встроенное
• Рекомендуемый
       CPU: Core 2 Duo 2,5 Ghz
       RAM: 4 Gb
       Video: дискретная карта




                                  Слайд: 17
www.docsvision.com
Индекс производительности

• Аналог оценки MS Windows




                             Слайд: 18
www.docsvision.com
Индекс производительности

• Выделено 6 групп операций
          Навигатор
          Справочники
          Карточки
          Файлы
          Представления
          Workflow
•   В каждой группе 10-15 операций
•   Считается среднее время по каждой группе
•   Общий индекс: среднее по всем группам
•   Измеряется на минимальном клиенте!

                                               Слайд: 19
www.docsvision.com
Группа Навигатор

•   Запуск навигатора (старого)
•   Запуск навигатора (нового)
•   Открытие узла дерева навигатора (старого)
•   Открытие узла дерева навигатора (нового)
•   Экспорт в Excel 100 карточек
•   Атрибутивный поиск
•   Первичное удаление 100 карточек (старый)
•   Первичное удаление 100 карточек (новый)
•   Открытие карточки по ссылке (из нового навигатора)
•   Открытие карточки по ссылке (из нового навигатора)
    (навигатор свернут в трей)
                                                         Слайд: 20
www.docsvision.com
Группа справочники

•   Открытие справочника сотрудников (нового)
•   Открытие справочника контрагентов (нового)
•   Отображение грида в универсальном справочнике
•   Открытие справочника категорий (нового)
•   Открытие справочник Виды карточек
•   Открытие справочника Правила нумерации
•   Открытие справочника Разметки
•   Открытие справочника Состояния
•   Открытие справочника скриптов
•   Открытие справочника ссылок
•   Открытие справочника Ролевая модель             Слайд: 21
www.docsvision.com
Группа карточки
•       Открытие карточки Документ (первое)
•       Открытие карточки Документ (последующие)
•       Сохранение карточки Документ
•       Изменение состояния карточки Документ
•       Отображение вкладки История карточки Документ
•       Открытие карточки Задание (первое)
•       Открытие карточки Задание (последующие)
•       Сохранение карточки Задание
•       Изменение состояния карточки Задание
•       Отображение вкладки История карточки Задание
•       Открытие Входящего документа (старый)
•       Открытие Исходящего документа (старый)
•       Открытие Внутреннего документа (старый)
                                                        Слайд: 22
    www.docsvision.com
Группа файлы

•   Добавление файла 100 Кб
•   Добавление файла 1Мб
•   Добавление файла 10 Мб
•   Сохранение файла 100 Кб
•   Сохранение файла 1Мб
•   Сохранение файла 10 Мб




                              Слайд: 23
www.docsvision.com
Группа представления

•   10 карточек (дайджест)
•   100 карточек (дайджест)
•   100000 карточек (дайджест)
•   10 карточек (10 колонок)
•   100 карточек (10 колонок)
•   100000 карточек (10 колонок)




                                   Слайд: 24
www.docsvision.com
Группа Workflow
•       Работа одного процесса во время выполнения 10 таких же
•       Работа одного процесса во время выполнения 100 таких же
•       Работа одного процесса во время выполнения 1000 таких же
•       1 процесс с функцией OR в цикле
•       1 подпроцесс создания 100 подпроцессов с заданиями
•       50 подпроцессов OR
•       100 подпроцессов с заданиями
•       Подпроцессы с однократными «Сценариями»
•       50 подпроцессов OR
•       100 подпроцессов с заданиями
•       Подпроцессы с зацикленными «Сценариями»


                                                                   Слайд: 25
    www.docsvision.com
Индекс производительности

Группа               Апрель Май Июнь
Навигатор               70,7 16,4 12,6
Справочники              3,9   3,7 3,3
Карточки                 4,8   3,5 3,5
Файлы                    5,8   5,2 4,2
Представления           36,8 37,5 34,8
Workflow                42,9 12,4 12,4
Общий индекс          27,5 13,1 11,8

                                  Слайд: 26
www.docsvision.com
Производительность под нагрузкой

• Отдельный сервер генерирует нагрузку, эмулируя
  деятельность пользователей
• Для эмуляции используется среда Visual Studio Load Test
• Каждая бизнес-операция эмулируется программным
  кодом, вызывающим методы сервера
• Измерения производятся на выделенном клиенте




                                                       Слайд: 27
www.docsvision.com
Портрет пользователя

• Интенсивность операций по ролям (100 пользователей)
  за 1 час:
          Регистрация документов – 32 штук
          Добавление документа к карточке – 128 штук
          Открытие карточки документа – 102 раза
          Переход в другие папки – 104 раза
          Выполнение поиска – 136 раз
          Получение представления – 1 раз
          Создание самостоятельных заданий – 20 штук
          Открытие карточки задания – 104 раза
          …




                                                        Слайд: 28
www.docsvision.com
Измерения под нагрузкой

Время (сек)/%             1      100         200         500
БД 1: Запуск Навигатора   15   17 (13%)    17 (13%)    23 (53%)

БД 1: Открытие карточки   3     3 (0%)     3,5 (16%)   6 (100%)
Документ (первое)
БД 1: Открытие карточки   1     1 (0%)      1 (0%)     1,5 (50%)
Документ (последующие)

БД 2: Запуск Навигатора   18   20 (11%)    24 (33%)    33 (83%)

БД 2: Открытие карточки   4    5 (25%)     6 (50%)     9 (125%)
Документ (первое)
БД 2: Открытие карточки   1    1,5 (50%)   1,5 (50%)   3 (200%)
Документ (последующие)

                                                               Слайд: 29
www.docsvision.com
Производительность: итоги и планы

• Достигнуты хорошие показатели производительности под
  нагрузкой до 200 пользователей; удовлетворительные –
  под нагрузкой до 500 пользователей
• Планы до сентября
       добиться значения индекса производительности < 10
       добиться хороших показателей под нагрузкой до 5000 пользователей




                                                                      Слайд: 30
www.docsvision.com
Надежность




                                  Слайд: 31
www.docsvision.com
Метрики надежности

• Что такое “Надежность” и как ее измерять?
• Варианты:
       Стабильность (количество сбоев в единицу времени)
       Наработка на отказ (время до первого сбоя)
       Отказоустойчивость (реакция на внешние воздействия – отказ
        оборудования и т.п.)
• Целесообразно использовать все эти метрики!




                                                                     Слайд: 32
www.docsvision.com
Методика оценки надежности

• Показатели, зависящие от нагрузки (надежность сервера)
• Показатели, НЕ зависящие от нагрузки (надежность
  клиента)
• Показатели надежности Workflow
• Внешние воздействия
• Использование ресурсов




                                                    Слайд: 33
www.docsvision.com
Метрики надежности: клиент
•       Количество сбоев при автоматической установке клиентских
        компонент из 50 попыток: сбоев нет
•       Среднее время наработки на отказ (падения, зависания) навигатора:
        6,7 часа
•       Количество сбоев при обращении к виртуальной папке за 8 часов:
        сбоев нет
•       Возможность восстановления сессии после периода бездействия из
        10 попыток: 10 успешно
•       Количество сбоев выгрузки представлений в Excel из 10 попыток:
        сбоев нет
•       Количество визуальных интерфейсных дефектов за 8 часов
        (изменение шрифтов, черные/серые области и т.д.): тема Silver - 0 шт;
        тема Future - 1 шт; тема Blue - 0 шт; тема Classic - 0 шт
•       …
                                                                        Слайд: 34
    www.docsvision.com
Метрики надежности: сервер

• Количество сбоев при применении представления к папке
  с 1 000 000 карточек из 50 попыток при одновременной
  работе 100 пользователей – нет сбоев
• Среднее количество сбоев при выполнении сложного
  поискового запроса из 50 попыток при одновременной
  работе 100 пользователей – нет сбоев
• Количество ошибок в логе сервера при типичной работе
  пользователя под нагрузкой за 8 часов – 0 ошибок
• Количество ошибок в Журнале Windows/Приложения на
  сервере DV при типичной работе пользователя под
  нагрузкой за 8 часов – 0 ошибок

                                                   Слайд: 35
www.docsvision.com
Метрики надежности: Workflow
•       Возобновление обработки активных бизнес-процессов после перезапуска
        рабочего процесса WF из 50 попыток – 50 успешно
•       Количество остановившихся по ошибке из 1000 бизнес-процессов за 120
        часов – 0 штук
•       Количество не разосланных заданий функцией Задание (из 20000 штук) – 0
        штук
•       Количество не отправленных почтовых сообщений из бизнес-процессов (из
        2000 штук) – 0 штук
•       Количество мёртвых блокировок при работе однотипных 1000 бизнес-
        процессов за 120 часов – 0 штук
•       Количество сбоев из-за превышения времени ожидания при перезапуске
        сервиса WF из 50 попыток – 0 штук
•       Количество не обнаруженных бизнес-процессов с зависшими или долго
        обрабатывающимися функциями – 0 штук


                                                                          Слайд: 36
    www.docsvision.com
Внешние воздействия

• Клиент
       Возможность продолжения работы клиента без перезапуска после отказа
        локальной сети (50 попыток)
• Сервер
       Возможность сохранения данных после потери соединения с сервером
        SQL (50 попыток)
• Workflow
       Возможность продолжения обработки бизнес-процессов после потери
        соединения с сервером приложений (50 попыток)




                                                                     Слайд: 37
www.docsvision.com
Использование ресурсов

• На клиенте
       Расход и освобождение памяти при работе Навигатора
       Расход GDI-ресурсов
• На сервере
       Расход и освобождение памяти
       Расход SQL-соединений
• Workflow
       Расход и освобождение памяти
       Расход и освобождение сессий к серверу DV




                                                             Слайд: 38
www.docsvision.com
Надежность: итоги и планы

• Достигнуты хорошие показатели надежности под
  нагрузкой до 100 пользователей
• Цели до сентября
       Добиться хороших показателей надежности сервера под нагрузкой до
        5000 пользователей
       Увеличить время наработки на отказ клиента > 8 часов
       Добавить новые метрики и тесты надежности с учетом возможностей
        кластеризации (корпоративная редакция)




                                                                     Слайд: 39
www.docsvision.com
Заключение

• Повышение производительности и надежности –
  долгосрочная целевая программа Доксвижн!
• Выработана методология и метрики
• Проводятся регулярные измерения
• Цикл: измерение->анализ->оптимизация->измерение…
• Улучшения: новые плановые версии платформы, сервис-
  релизы и накопительные обновления




                                                  Слайд: 40
www.docsvision.com
Заключение (продолжение)

• Частая причина проблем с производительностью и
  надежностью – плохая инфраструктура
• Наши цели:
       Разработка методических рекомендаций по организации типовой
        инфраструктуры для внедрения Docsvision
       Предоставление услуг по консалтингу и оперативному решению проблем
        с инфраструктурой
       Реализация административных утилит для быстрой диагностики проблем
        с инфраструктурой и повышения удобства управеления




                                                                    Слайд: 41
www.docsvision.com
Вопросы?




                                Слайд: 42
www.docsvision.com
Спасибо за внимание!
«ДоксВижн»                 +7 (812) 335-35-15
199155, Санкт-Петербург,   +7 (812) 335-35-32
наб. р. Смоленки, д. 33     antonv@docsvision.com
                            www.docsvision.com

More Related Content

PDF
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
PDF
24 hop sql_in_to_wa_1c _19march_2014_russian
PPTX
Как мы готовим MySQL / Николай Королёв (Badoo)
PDF
Алексей Андросов "Криокамера для статики"
PDF
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
PDF
Что нового в SQL Server 2014
PPTX
Масштабирование баз данных. (Database Scalability)
PDF
"Новые возможности MySQL 5.7"
Распределенные системы в Одноклассниках / Олег Анастасьев (Одноклассники)
24 hop sql_in_to_wa_1c _19march_2014_russian
Как мы готовим MySQL / Николай Королёв (Badoo)
Алексей Андросов "Криокамера для статики"
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
Что нового в SQL Server 2014
Масштабирование баз данных. (Database Scalability)
"Новые возможности MySQL 5.7"

What's hot (20)

PDF
Компонентный подход: скучно, неинтересно, бесперспективно
PDF
basis.js - почему я не бросил разрабатывать свой фреймворк
PPT
Три СПО-решения (мастер-класс)
PPTX
Передовой опыт создания Инфраструктуры SharePoint
PPTX
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
PPT
1С-Битрикс - Веб-кластер
PPT
1С-Битрикс - Производительность
PDF
Как построить DOM
PPTX
Migrating from PHP/MySQL to Redis/Lua, my talk on High load++ (Russian)
PDF
Чему мы научились разрабатывая микросервисы?
PDF
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
PDF
Как балансировать на «сетевом» канате под куполом тяжелой нагрузки? / Сергей ...
PDF
Db in-memory-overview 2015-10_14
PDF
Внутреннее устройство и оптимизация бандла webpack
PDF
Алексей Андросов "Тотальная заморозка = быстрая загрузка"
PDF
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
PDF
JavaScript Базовый. Занятие 11.
PPTX
Алексей Рагозин "Java и linux борьба за микросекунды"
PDF
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
PDF
Максим Богук. Postgres-XC
Компонентный подход: скучно, неинтересно, бесперспективно
basis.js - почему я не бросил разрабатывать свой фреймворк
Три СПО-решения (мастер-класс)
Передовой опыт создания Инфраструктуры SharePoint
Общая концепция системы развёртывания серверного окружения на базе SaltStack ...
1С-Битрикс - Веб-кластер
1С-Битрикс - Производительность
Как построить DOM
Migrating from PHP/MySQL to Redis/Lua, my talk on High load++ (Russian)
Чему мы научились разрабатывая микросервисы?
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Как балансировать на «сетевом» канате под куполом тяжелой нагрузки? / Сергей ...
Db in-memory-overview 2015-10_14
Внутреннее устройство и оптимизация бандла webpack
Алексей Андросов "Тотальная заморозка = быстрая загрузка"
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
JavaScript Базовый. Занятие 11.
Алексей Рагозин "Java и linux борьба за микросекунды"
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов Николай
Максим Богук. Postgres-XC
Ad

Similar to Производительность и надежность Docsvision 5 (20)

PDF
Производительность Docsvision 5.1
PDF
Итоги развития Docsvision 5 от базовой редакции до корпоративной
PPTX
Docsvision 5 – новые возможности для управления организацией
PPTX
RoadShow Docsvision: Docsvision 5: документооборот на «отлично»
PPT
Docsvision 5_Docflow 2012
PDF
Иван Карев — Клиентская оптимизация
PPTX
What's new in Visual Studio 2012
PPT
Новые возможности Docsvision 5
PDF
Иван Карев — Клиентская оптимизация
PDF
Введение в performance management
PPTX
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
PDF
SuperNovo: примеры размещения 1С
PDF
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
PDF
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
PPTX
Errors Tracker
PDF
Борис Павлович - Производительность и масштабируемость OpenStack
PDF
IT-инфраструктура. FAQ для разработчика
PPTX
Protrarctor and Angular
PDF
Микросервисная архитектура на базе CoreOS и Kubernetes
PDF
webpack: 7 бед - один ответ
Производительность Docsvision 5.1
Итоги развития Docsvision 5 от базовой редакции до корпоративной
Docsvision 5 – новые возможности для управления организацией
RoadShow Docsvision: Docsvision 5: документооборот на «отлично»
Docsvision 5_Docflow 2012
Иван Карев — Клиентская оптимизация
What's new in Visual Studio 2012
Новые возможности Docsvision 5
Иван Карев — Клиентская оптимизация
Введение в performance management
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
SuperNovo: примеры размещения 1С
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Errors Tracker
Борис Павлович - Производительность и масштабируемость OpenStack
IT-инфраструктура. FAQ для разработчика
Protrarctor and Angular
Микросервисная архитектура на базе CoreOS и Kubernetes
webpack: 7 бед - один ответ
Ad

More from Docsvision (20)

PPTX
Docsvision 5. Административное делопроизводство
PPTX
Управление закупочной документацией на базе СЭД / ECM платформы Docsivion
PPTX
Внедрение СЭД/ECM Docsvision в СТД «Петрович»
PPTX
Автоматизация документооборота в фармацевтической компании НТФФ «Полисан»
PPT
Внедрение электронного документооборота в Группе компаний ОАО «Кировский завод»
PPTX
Документ-сканеры Canon в задачах электронного документооборота
PPTX
Предотвращение утечки конфиденциальной информации в электронном документообороте
PPTX
Автоматизация специализированных и отраслевых бизнес-задач
PPTX
Практика перехода предприятий на юридически значимый безбумажный документообо...
PPTX
СЭД/ECM Docsvision как современная масштабируемая платформа управления докуме...
PPTX
Обработка документов с рукописным текстом в Docsvision
PPTX
Автоматизация проведения негосударственной экспертизы проектной документации
PPTX
Архивное делопроизводство на базе Docsvision
PPTX
Вебинар "Методика привлечения контрагентов для перехода на безбумажный ДО"
PPTX
Вебинар №5 "План и методика перехода на безбумажный документооборот"
PPTX
Web-клиент Docsvision 5
PPTX
Вебинар №4 «IT-инфраструктура безбумажной работы»
PPTX
Новые цели и задачи СЭД / ECM - Владимир Андреев, Docsvision
PPTX
Вебинар №3. Чего мы опасаемся при переходе к ЮЗДО
PPTX
Вебинар 2. Электронная подпись - просто о сложном
Docsvision 5. Административное делопроизводство
Управление закупочной документацией на базе СЭД / ECM платформы Docsivion
Внедрение СЭД/ECM Docsvision в СТД «Петрович»
Автоматизация документооборота в фармацевтической компании НТФФ «Полисан»
Внедрение электронного документооборота в Группе компаний ОАО «Кировский завод»
Документ-сканеры Canon в задачах электронного документооборота
Предотвращение утечки конфиденциальной информации в электронном документообороте
Автоматизация специализированных и отраслевых бизнес-задач
Практика перехода предприятий на юридически значимый безбумажный документообо...
СЭД/ECM Docsvision как современная масштабируемая платформа управления докуме...
Обработка документов с рукописным текстом в Docsvision
Автоматизация проведения негосударственной экспертизы проектной документации
Архивное делопроизводство на базе Docsvision
Вебинар "Методика привлечения контрагентов для перехода на безбумажный ДО"
Вебинар №5 "План и методика перехода на безбумажный документооборот"
Web-клиент Docsvision 5
Вебинар №4 «IT-инфраструктура безбумажной работы»
Новые цели и задачи СЭД / ECM - Владимир Андреев, Docsvision
Вебинар №3. Чего мы опасаемся при переходе к ЮЗДО
Вебинар 2. Электронная подпись - просто о сложном

Производительность и надежность Docsvision 5

  • 2. Введение Слайд: 2 www.docsvision.com
  • 3. Введение • Производительность и надежность – главные ориентиры в разработке линейки Docsvision 5 • Предпосылки  Увеличение масштаба внедрений  Повышение ожиданий клиентов  Изменение роли СЭД в деятельности предприятий  … • Целевая программа: постоянное повышение производительности и надежности на протяжении всего жизненного цикла Docsvision 5! Слайд: 3 www.docsvision.com
  • 4. RoadMap выпуска платформы Версия Docsvision 5.0 Docsvision 5.0 Docsvision 5.0 SR1 SR2 Функциональность Базовая Расширенная Корпоративная Производительность До 50 До 500 До 5000 и надежность пользователей пользователей пользователей Дата выпуска 15 мая 15 июня Сентябрь Слайд: 4 www.docsvision.com
  • 5. Оптимизация редакций Слайд: 5 www.docsvision.com
  • 6. Производительность: оптимизации Слайд: 6 www.docsvision.com
  • 7. Оптимизации: сервер • Новый сервис полнотекстового поиска  Позволяет выбрать данные, которые требуется индексировать  Снижает затраты на полнотекстовое индексирование  Поддерживает релевантность результатов поиска  Может быть вынесен на отдельную машину • StorageServer  Оптимизирован алгоритм чтения данных и сериализации в Xml  Оптимизирован алгоритм конкатенации данных в представлениях  Оптимизирован алгоритм подсчета непрочитанных карточек Слайд: 7 www.docsvision.com
  • 8. Оптимизации: клиент • Упрощение и ускорение установки клиентской части  Всего один инсталляционный пакет вместо 5  Не требует административных полномочий • Локальное кэширование данных  Загружаемые данные (справочники, карточки) кэшируются на диске клиента  Экономия трафика при следующих обращениях  Повышение быстродействия на узких каналах Слайд: 8 www.docsvision.com
  • 9. Оптимизации: Навигатор • Новый Навигатор: отдельное .NET-приложение • Не требует браузера! • Автозапуск при старте Windows + Ускоряет первое обращение к Навигатору или карточкам по ссылке -Постоянно задействует лицензию! • Сворачивание в трей при закрытии • Асинхронная загрузка данных Хороший выигрыш на многоядерных процессорах • Постраничная загрузка представлений и “Отмена” Слайд: 9 www.docsvision.com
  • 10. Выбор при установке Слайд: 10 www.docsvision.com
  • 11. Оптимизации: карточки • Асинхронная загрузка данных  Хороший выигрыш на многоядерных процессорах • Вынесение медленных операций на сервер • Предкэширование карточек при запуске Навигатора  Возможность гибкой настройки • Пакетная загрузка данных (уменьшение количества серверных вызовов) • Отложенная инициализация элементов управления • Вычисление ролей через специализированные хранимые процедуры Слайд: 11 www.docsvision.com
  • 12. Оптимизации: Workflow • Новый механизм активации ожидающих функций: события  Push вместо pop  Полностью убирает “бесполезные” срабатывания функций  Максимальный выигрыш: задания, мониторинги, и т.п. • Оптимизация хранимых процедур  Поиск активных процессов  Получение проходов функции  … Слайд: 12 www.docsvision.com
  • 13. Производительность: измерения Слайд: 13 www.docsvision.com
  • 14. Методика измерений • Измерение производительности без нагрузки (абсолютные значения)  Индекс производительности • Деградация производительности под нагрузкой (относительные значения)  Ухудшение в % относительно абсолютных значений Слайд: 14 www.docsvision.com
  • 15. Характеристики сервера • Сервер БД  CPU: 2 * Intel Xeon (4 cores, 2.26 GHz)  RAM: 6 * 4 GB 1333MHz  HDD: 4 Tb • Сервер приложений  CPU: 2 * Intel Xeon (4 cores 2.26 GHz)  RAM: 2 GB 1333MHz  HDD: 3 * 250GB NS • Сервер нагрузки  CPU: 2 * Intel Xeon (4 cores, 2.26 GHz)  RAM: 2 * 9 GB 1333MHz  HDD: 2 * 250GB NS Слайд: 15 www.docsvision.com
  • 16. Тестовая БД • Более 10000 папок, у 5% пользовательские иконки • Около 1 500 000 карточек документов • Около 3 000 000 файлов (от 0,5 до 1 МБ) • Около 3 500 000 заданий • 22 000 сотрудников в справочнике • 200 000 контрагентов в справочнике • 60 000 записей в универсальном справочнике • 300 видов документов • 200 ролей • 100 категорий Слайд: 16 www.docsvision.com
  • 17. Характеристики клиента • Два разных клиента • Минимальный  CPU: Pentium IV 1 Ghz  RAM: 1 Gb RAM  Video: встроенное • Рекомендуемый  CPU: Core 2 Duo 2,5 Ghz  RAM: 4 Gb  Video: дискретная карта Слайд: 17 www.docsvision.com
  • 18. Индекс производительности • Аналог оценки MS Windows Слайд: 18 www.docsvision.com
  • 19. Индекс производительности • Выделено 6 групп операций  Навигатор  Справочники  Карточки  Файлы  Представления  Workflow • В каждой группе 10-15 операций • Считается среднее время по каждой группе • Общий индекс: среднее по всем группам • Измеряется на минимальном клиенте! Слайд: 19 www.docsvision.com
  • 20. Группа Навигатор • Запуск навигатора (старого) • Запуск навигатора (нового) • Открытие узла дерева навигатора (старого) • Открытие узла дерева навигатора (нового) • Экспорт в Excel 100 карточек • Атрибутивный поиск • Первичное удаление 100 карточек (старый) • Первичное удаление 100 карточек (новый) • Открытие карточки по ссылке (из нового навигатора) • Открытие карточки по ссылке (из нового навигатора) (навигатор свернут в трей) Слайд: 20 www.docsvision.com
  • 21. Группа справочники • Открытие справочника сотрудников (нового) • Открытие справочника контрагентов (нового) • Отображение грида в универсальном справочнике • Открытие справочника категорий (нового) • Открытие справочник Виды карточек • Открытие справочника Правила нумерации • Открытие справочника Разметки • Открытие справочника Состояния • Открытие справочника скриптов • Открытие справочника ссылок • Открытие справочника Ролевая модель Слайд: 21 www.docsvision.com
  • 22. Группа карточки • Открытие карточки Документ (первое) • Открытие карточки Документ (последующие) • Сохранение карточки Документ • Изменение состояния карточки Документ • Отображение вкладки История карточки Документ • Открытие карточки Задание (первое) • Открытие карточки Задание (последующие) • Сохранение карточки Задание • Изменение состояния карточки Задание • Отображение вкладки История карточки Задание • Открытие Входящего документа (старый) • Открытие Исходящего документа (старый) • Открытие Внутреннего документа (старый) Слайд: 22 www.docsvision.com
  • 23. Группа файлы • Добавление файла 100 Кб • Добавление файла 1Мб • Добавление файла 10 Мб • Сохранение файла 100 Кб • Сохранение файла 1Мб • Сохранение файла 10 Мб Слайд: 23 www.docsvision.com
  • 24. Группа представления • 10 карточек (дайджест) • 100 карточек (дайджест) • 100000 карточек (дайджест) • 10 карточек (10 колонок) • 100 карточек (10 колонок) • 100000 карточек (10 колонок) Слайд: 24 www.docsvision.com
  • 25. Группа Workflow • Работа одного процесса во время выполнения 10 таких же • Работа одного процесса во время выполнения 100 таких же • Работа одного процесса во время выполнения 1000 таких же • 1 процесс с функцией OR в цикле • 1 подпроцесс создания 100 подпроцессов с заданиями • 50 подпроцессов OR • 100 подпроцессов с заданиями • Подпроцессы с однократными «Сценариями» • 50 подпроцессов OR • 100 подпроцессов с заданиями • Подпроцессы с зацикленными «Сценариями» Слайд: 25 www.docsvision.com
  • 26. Индекс производительности Группа Апрель Май Июнь Навигатор 70,7 16,4 12,6 Справочники 3,9 3,7 3,3 Карточки 4,8 3,5 3,5 Файлы 5,8 5,2 4,2 Представления 36,8 37,5 34,8 Workflow 42,9 12,4 12,4 Общий индекс 27,5 13,1 11,8 Слайд: 26 www.docsvision.com
  • 27. Производительность под нагрузкой • Отдельный сервер генерирует нагрузку, эмулируя деятельность пользователей • Для эмуляции используется среда Visual Studio Load Test • Каждая бизнес-операция эмулируется программным кодом, вызывающим методы сервера • Измерения производятся на выделенном клиенте Слайд: 27 www.docsvision.com
  • 28. Портрет пользователя • Интенсивность операций по ролям (100 пользователей) за 1 час:  Регистрация документов – 32 штук  Добавление документа к карточке – 128 штук  Открытие карточки документа – 102 раза  Переход в другие папки – 104 раза  Выполнение поиска – 136 раз  Получение представления – 1 раз  Создание самостоятельных заданий – 20 штук  Открытие карточки задания – 104 раза  … Слайд: 28 www.docsvision.com
  • 29. Измерения под нагрузкой Время (сек)/% 1 100 200 500 БД 1: Запуск Навигатора 15 17 (13%) 17 (13%) 23 (53%) БД 1: Открытие карточки 3 3 (0%) 3,5 (16%) 6 (100%) Документ (первое) БД 1: Открытие карточки 1 1 (0%) 1 (0%) 1,5 (50%) Документ (последующие) БД 2: Запуск Навигатора 18 20 (11%) 24 (33%) 33 (83%) БД 2: Открытие карточки 4 5 (25%) 6 (50%) 9 (125%) Документ (первое) БД 2: Открытие карточки 1 1,5 (50%) 1,5 (50%) 3 (200%) Документ (последующие) Слайд: 29 www.docsvision.com
  • 30. Производительность: итоги и планы • Достигнуты хорошие показатели производительности под нагрузкой до 200 пользователей; удовлетворительные – под нагрузкой до 500 пользователей • Планы до сентября  добиться значения индекса производительности < 10  добиться хороших показателей под нагрузкой до 5000 пользователей Слайд: 30 www.docsvision.com
  • 31. Надежность Слайд: 31 www.docsvision.com
  • 32. Метрики надежности • Что такое “Надежность” и как ее измерять? • Варианты:  Стабильность (количество сбоев в единицу времени)  Наработка на отказ (время до первого сбоя)  Отказоустойчивость (реакция на внешние воздействия – отказ оборудования и т.п.) • Целесообразно использовать все эти метрики! Слайд: 32 www.docsvision.com
  • 33. Методика оценки надежности • Показатели, зависящие от нагрузки (надежность сервера) • Показатели, НЕ зависящие от нагрузки (надежность клиента) • Показатели надежности Workflow • Внешние воздействия • Использование ресурсов Слайд: 33 www.docsvision.com
  • 34. Метрики надежности: клиент • Количество сбоев при автоматической установке клиентских компонент из 50 попыток: сбоев нет • Среднее время наработки на отказ (падения, зависания) навигатора: 6,7 часа • Количество сбоев при обращении к виртуальной папке за 8 часов: сбоев нет • Возможность восстановления сессии после периода бездействия из 10 попыток: 10 успешно • Количество сбоев выгрузки представлений в Excel из 10 попыток: сбоев нет • Количество визуальных интерфейсных дефектов за 8 часов (изменение шрифтов, черные/серые области и т.д.): тема Silver - 0 шт; тема Future - 1 шт; тема Blue - 0 шт; тема Classic - 0 шт • … Слайд: 34 www.docsvision.com
  • 35. Метрики надежности: сервер • Количество сбоев при применении представления к папке с 1 000 000 карточек из 50 попыток при одновременной работе 100 пользователей – нет сбоев • Среднее количество сбоев при выполнении сложного поискового запроса из 50 попыток при одновременной работе 100 пользователей – нет сбоев • Количество ошибок в логе сервера при типичной работе пользователя под нагрузкой за 8 часов – 0 ошибок • Количество ошибок в Журнале Windows/Приложения на сервере DV при типичной работе пользователя под нагрузкой за 8 часов – 0 ошибок Слайд: 35 www.docsvision.com
  • 36. Метрики надежности: Workflow • Возобновление обработки активных бизнес-процессов после перезапуска рабочего процесса WF из 50 попыток – 50 успешно • Количество остановившихся по ошибке из 1000 бизнес-процессов за 120 часов – 0 штук • Количество не разосланных заданий функцией Задание (из 20000 штук) – 0 штук • Количество не отправленных почтовых сообщений из бизнес-процессов (из 2000 штук) – 0 штук • Количество мёртвых блокировок при работе однотипных 1000 бизнес- процессов за 120 часов – 0 штук • Количество сбоев из-за превышения времени ожидания при перезапуске сервиса WF из 50 попыток – 0 штук • Количество не обнаруженных бизнес-процессов с зависшими или долго обрабатывающимися функциями – 0 штук Слайд: 36 www.docsvision.com
  • 37. Внешние воздействия • Клиент  Возможность продолжения работы клиента без перезапуска после отказа локальной сети (50 попыток) • Сервер  Возможность сохранения данных после потери соединения с сервером SQL (50 попыток) • Workflow  Возможность продолжения обработки бизнес-процессов после потери соединения с сервером приложений (50 попыток) Слайд: 37 www.docsvision.com
  • 38. Использование ресурсов • На клиенте  Расход и освобождение памяти при работе Навигатора  Расход GDI-ресурсов • На сервере  Расход и освобождение памяти  Расход SQL-соединений • Workflow  Расход и освобождение памяти  Расход и освобождение сессий к серверу DV Слайд: 38 www.docsvision.com
  • 39. Надежность: итоги и планы • Достигнуты хорошие показатели надежности под нагрузкой до 100 пользователей • Цели до сентября  Добиться хороших показателей надежности сервера под нагрузкой до 5000 пользователей  Увеличить время наработки на отказ клиента > 8 часов  Добавить новые метрики и тесты надежности с учетом возможностей кластеризации (корпоративная редакция) Слайд: 39 www.docsvision.com
  • 40. Заключение • Повышение производительности и надежности – долгосрочная целевая программа Доксвижн! • Выработана методология и метрики • Проводятся регулярные измерения • Цикл: измерение->анализ->оптимизация->измерение… • Улучшения: новые плановые версии платформы, сервис- релизы и накопительные обновления Слайд: 40 www.docsvision.com
  • 41. Заключение (продолжение) • Частая причина проблем с производительностью и надежностью – плохая инфраструктура • Наши цели:  Разработка методических рекомендаций по организации типовой инфраструктуры для внедрения Docsvision  Предоставление услуг по консалтингу и оперативному решению проблем с инфраструктурой  Реализация административных утилит для быстрой диагностики проблем с инфраструктурой и повышения удобства управеления Слайд: 41 www.docsvision.com
  • 42. Вопросы? Слайд: 42 www.docsvision.com
  • 43. Спасибо за внимание! «ДоксВижн» +7 (812) 335-35-15 199155, Санкт-Петербург, +7 (812) 335-35-32 наб. р. Смоленки, д. 33 antonv@docsvision.com www.docsvision.com

Editor's Notes