В конструкторе решений есть поля типа "Дата", для которого можно выбрать значение по умолчанию - "Сегодня". Но если нужно добавить дату со смещением? Например, как добавить несколько дней?
Для этого достаточно указать значение
Сегодня+NД
где N - нужное количество дней
Читать дальше
Поиск
Ярлыки
авто генерация кода
(1)
Администрирование DocsVision
(60)
Атрибутивный поиск
(3)
База данных
(24)
Базы знаний
(1)
Безопасность
(1)
Бизнес-процессы
(20)
Блог
(2)
Вы увидите это первыми
(1)
Групповые политики
(1)
Диаграммы
(2)
Задания
(2)
Интеграция
(2)
Карточки DocsVision
(14)
Конструктор Решений
(11)
Маркетинг и продажи
(4)
Навигатор
(3)
Новое
(3)
Новости
(32)
Опрос
(4)
Опросы DocsVision
(4)
Оптимизация
(3)
Отчеты
(2)
Ошибки
(1)
Поддержка
(14)
Полезные ссылки
(1)
Представления
(4)
Производительность
(5)
Разбор полетов
(18)
Разработка для Workflow
(7)
разработка карточек
(2)
Разработка на платформе DocsVision
(41)
Разработка решений
(43)
Расширение платформы
(1)
Расширенные отчеты
(9)
Решения на платформе DocsVision
(6)
Сервисы DocsVision
(3)
Сканеры
(3)
Справочник сотрудников
(1)
Справочник типов
(1)
Установка
(1)
Утилиты
(13)
Шлюз в SharePoint
(8)
Штрихкод
(2)
Cкрипты карточек
(7)
DocsVision внутри
(1)
DocsVision Live
(1)
FileStream
(1)
FireFox
(2)
Opera
(1)
Powershell
(5)
Safari
(1)
SharePoint2007
(1)
SharePoint2010
(2)
Silverlight
(1)
UltraViews
(1)
Vista
(1)
Планирование ресурсов
Один из популярных вопросов - какую конфигурацию нам нужно сделать для увеличения производительности, и более оптимального распределения ресурсов? Нужно ли разносить сервисы и т.п.
Ответ в первом приближении можно найти достаточно просто. Для этого необходимо замерить использование 3х классических ресурсов: используемое процессорное время, используемая память, обращение к системе ввода-вывода.
Рассмотрим конфигурацию, которая описана здесь http://dvprofessionals.blogspot.com/2009/08/blog-post_21.html
Основные процессы:
Распределение процессорного времени
Счетчик: Process | % processor time
Что видно. Основной потребитель - сервер баз данных. Особой постоянной нагрузки нет, только пики. Но если нужно оптимизировать этот ресурс, то MS SQL Server можно перенести на другой сервер.
Использование памяти.
Счетчик: Process | Working Set
Основной потребитель - процесс ExecLogic*32 (это процесс, который непосредственно обрабатывает функции бизнес-процессов. В данном случае 32 разрядные функции).
Это не критично - данному процессу можно ограничить память при помощи настройки в Консоли настройки.
Помимо этого, следующим процессам можно ограничить объем потребляемой памяти:
ExecLogic - в консоли настройки
w3wp - настройка рециклинга (Recycling) в пуле приложений IIS (Application pool)
sqlservr - настройкой памяти в свойствах сервера MS SQL Server.
Использование системы ввода-вывода
Счетчик: Process | IO Data operations /sec
Данный счетчик фиксирует не только обращения к диску, но и сетевые операции. И тут лидерами будут ExecLogic32 и DocsVision StorageServer, из-за частых сетевых вызовов.
Отдельно полезно будет посмотреть длину средней очереди к диску. Но этот счетчик не относится к конкретному процессу, а характеризует производительность в целом.
Какой можно сделать вывод. Для данной конкретной конфигурации не требуется разделения на несколько серверов. Однако, при росте первым кандидатом на переезд будет MS SQL Server.
Будет полезно, если кто-либо из гуру по системному администрированию покритикует методики измерения в комментариях. Читать дальше
Оставить комментарий
(всего: 4)
Ответ в первом приближении можно найти достаточно просто. Для этого необходимо замерить использование 3х классических ресурсов: используемое процессорное время, используемая память, обращение к системе ввода-вывода.
Рассмотрим конфигурацию, которая описана здесь http://dvprofessionals.blogspot.com/2009/08/blog-post_21.html
Основные процессы:
- sqlservr
- DocsVision StorageServer
- DocsVision Workflow Server
- ExecLogic
- ExecLogic*32
- w3wp
Распределение процессорного времени
Счетчик: Process | % processor time
Что видно. Основной потребитель - сервер баз данных. Особой постоянной нагрузки нет, только пики. Но если нужно оптимизировать этот ресурс, то MS SQL Server можно перенести на другой сервер.
Использование памяти.
Счетчик: Process | Working Set
Основной потребитель - процесс ExecLogic*32 (это процесс, который непосредственно обрабатывает функции бизнес-процессов. В данном случае 32 разрядные функции).
Это не критично - данному процессу можно ограничить память при помощи настройки в Консоли настройки.
Помимо этого, следующим процессам можно ограничить объем потребляемой памяти:
ExecLogic - в консоли настройки
w3wp - настройка рециклинга (Recycling) в пуле приложений IIS (Application pool)
sqlservr - настройкой памяти в свойствах сервера MS SQL Server.
Использование системы ввода-вывода
Счетчик: Process | IO Data operations /sec
Данный счетчик фиксирует не только обращения к диску, но и сетевые операции. И тут лидерами будут ExecLogic32 и DocsVision StorageServer, из-за частых сетевых вызовов.
Отдельно полезно будет посмотреть длину средней очереди к диску. Но этот счетчик не относится к конкретному процессу, а характеризует производительность в целом.
Какой можно сделать вывод. Для данной конкретной конфигурации не требуется разделения на несколько серверов. Однако, при росте первым кандидатом на переезд будет MS SQL Server.
Будет полезно, если кто-либо из гуру по системному администрированию покритикует методики измерения в комментариях. Читать дальше
Контроль за временем отклика сервера.
Автор:
Михаил Захаров
среда, 3 ноября 2010 г.
/
Ярлыки:
Администрирование DocsVision,
Производительность,
Разработка решений,
Утилиты
В версии DocsVision 4.5 есть встроенный функционал проверки длительности выполнения определенных операций. Настройка выполняется, как обычно, в консоли, параметр "Время отклика сервера"
В случае если данные значения не выполняются, то пользователь видит в Навигаторе предупреждение (см. самый первый скриншот).
Как быть пользователям предыдущих версий. Конечно, переходить на 4.5 :)
Но можно также сделать подобный функционал проверки в виде внешней утилиты.
Каким функционалом должен обладать данный инструмент.
1. Проверять время создания сессии
2. Проверять длительность получения данных карточки
3. Проверять время выполнения поиска и т.п.
В случае невыполнения указанных параметров сигнализировать о проблеме.
Пример подобной утилиты я выложил на ftp. В архиве утилита, скомпилированная для DocsVision 4.1, инструкция, и исходный код.
Комментарий для желающих доработать. Основные методы проверки реализованы в библиотеке DVCheckObjects. Т.е. можно написать, например, консольное приложение, которое будет использовать данную библиотеку, и назначить это приложение как задачу в Task Scheduler на сервере. Читать дальше
Вынос Workflow сервиса на отдельную машину
Автор:
Михаил Захаров
вторник, 2 ноября 2010 г.
/
Ярлыки:
Администрирование DocsVision,
Бизнес-процессы
При решении задачи отделения сервиса DocsVision Worklow Service на отдельную машину ранее предлагался следующий способ
1. установка еще одного сервиса Workflow (обозначим его как W2)
2. объединение сервиса, который работает вместе с сервером DocsVision (обозначим его как W1) и внешнего сервиса СУБП в один кластер
3. установка доли процесса в 1% для сервиса W1, для того, чтобы он не обрабатывал бизнес-процессы.
Наличие работающей службы W1 было необходимо для того, чтобы пользователи смогли запускать бизнес-процессы. Без работающей службы этого сделать нельзя, хотя и не всегда требуется.
Данный способ вполне легален, но требует наличия возможности создания кластера, которая включена в лицензию.
В данной статье я расскажу о способе, как вынести только один сервер. Способ не является официальным, однако прекрасно работает.
Обозначим S1 - машина на которой установлен сервер DocsVision, S2 - машина, на которой установлен только сервис Workflow.
- На S1 останавливаем сервис DocsVision Workflow Service
- На S1 и S2 создаем значение MachineName (строка) в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\DocsVision\Workflow\4.5\WorkflowServer
- На S2 в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\DocsVision\Workflow\4.5 указываем адрес соединения с сервером S1 и название базы в BaseName
- Выполняем два скрипта на базе данных
DELETE FROM dvsys_sessions where AppID='20F4B6CD-B2F6-4702-BB13-ADF848A4F66F' UPDATE dvsys_workflow_services SET ServiceID = 'имя сервера S2, на котором работает WF'
Данные скрипты очищают открытые сессии от сервиса Worklfow, и указывают новое имя сервиса Workflow (Это все можно сделать и через консоль настройки) - Перезапускаем IIS и DocsVision StorageServer Service на S1 и DocsVision Workflow Service на S2. Помним, что на S1 DocsVision Workflow Service должен быть остановлен - он нам не нужен
Читать дальше
Програмное завершение задания бизнес-процесса
Автор:
Михаил Захаров
понедельник, 1 ноября 2010 г.
/
Ярлыки:
Разработка на платформе DocsVision,
Разработка решений
Програмно завершить задание бизнес-процесса можно следующим образом
1. В секции "Performing" установить
а) в поле TaskState значение 5 (исполнено)
б) в поле ActualEndDate текущую дату (дату завершения)
2. В секции "CurrentPerformer" установить
а) в поле PerformerState значение 5 (исполнено), если задание было делегировано, то 13 (возврат с делегирования)
Если задание имеет подчиненные задания, то их необходимо либо удалить, либо завершить. Сделать это нужно, для того, чтобы не оставалось "висящих" дочерних заданий и процессов, при завершении родительского задания.
Так же нужно завершить задания контроллеров, если такие есть. Читать дальше
Оставить комментарий
(всего: 3)
1. В секции "Performing" установить
а) в поле TaskState значение 5 (исполнено)
б) в поле ActualEndDate текущую дату (дату завершения)
2. В секции "CurrentPerformer" установить
а) в поле PerformerState значение 5 (исполнено), если задание было делегировано, то 13 (возврат с делегирования)
Если задание имеет подчиненные задания, то их необходимо либо удалить, либо завершить. Сделать это нужно, для того, чтобы не оставалось "висящих" дочерних заданий и процессов, при завершении родительского задания.
Так же нужно завершить задания контроллеров, если такие есть. Читать дальше