Вопрос 08.1
В
метаданных конфигурации определена последовательность «ПартионныйУчет» с
измерением «Организация». Обработчик проведения документа содержит следующий
код:
Отбор = Новый Структура;
Отбор.Вставить(«Организация»,
Организация);
Последовательности.ПартионныйУчет.УстановитьГраницу(ТекущаяДата(),
Отбор);
В
каком случае документы этого вида смогут проводится параллельно разными
пользователя, а в каком нет? Обоснуйте свой ответ. Как можно повысить
параллельность работы в этом случае?
Ответ:
Смогут проводится документы разными пользователями только если организации различаются.
Параллельность можно повысить двумя способами:
1) Убрать смещение границы последовательности из обработки проведения. Делать это оптимальнее с помощью фоновых заданий в нерабочее время.
2) Добавить в последовательность еще один реквизит (например контрагент или договор) в этом случае параллельность также повысится.
Вопрос 08.2
Что
такое транзакция? Для чего она нужна? В каком случае открывается транзакция?
Поддерживаются ли вложенные транзакции?
Ответ:
В качестве ответа приведу фрагмент книги "Настольная книга эксперта по технологическим вопросам".
Транзакция в информатике это группа логически объединенных последовательных операций по работе с данными, обрабатываемая или отменяемая целиком.
Все Транзакции могут быть явными и неявными. Средствами языка «1С» явные транзакции начинаются процедурой глобального контекста НачатьТранзакцию() , завершаются процедурой глобального контекста ЗафиксироватьТранзакцию() , отменяются процедурой ОтменитьТранзакцию() .
Неявные транзакции начинаются, завершаются и отменяются средствамиплатформы. Любые операции, изменяющие данные (например — проведение и отмена проведения документов) выполняются только в транзакции. В неявной транзакции выполняются обработчики следующих событий прикладных объектов конфигурации (но не форм!), вызываемые как через модули этих прикладных объектов, так и через подписки на события:
■ ПередЗаписью() ;
■ ПриЗаписи() ;
■ ОбработкаПроведения() ;
■ ОбработкаУдаленияПроведения() ;
■ ПередУдалением() ;
■ ПередВыполнением() .
Вложенные транзакции не поддерживаются.
Вопрос 08.3
Имеется автоматизированный
многопользовательский нагрузочный тест, который выполняется по следующему
сценарию: все пользователи выполняют и проводят один и тот же вид документов.
Документы, проводимы разными пользователями, таким образом «разнесены» по
данным, чтобы не возникало никаких ожиданий на блокировках.
Во время тестирования измеряется
общая пропускная способность системы: общее количество строк документов (от
всех пользователей), обработанных за единицу времени.
Тестировщик выполнил тест для
различного количества одновременно работающих пользователей и получил следующий
график:
В
чем может быть причина уменьшения общей пропускной способности при количестве
одновременно работающих пользователей более 150?
Ответ:
Причина скорее всего в сильной загруженности оборудования. В этом случае необходимо настроить мониторинг загруженности оборудования.
Так же узким местом здесь может выступать рабочий процесс. Если рабочий процесс создан 1, то он может являться причиной медленной работы системы. В этом случае необходимо добавить еще один или несколько рабочих процессов в кластере.
Так же узким местом здесь может выступать рабочий процесс. Если рабочий процесс создан 1, то он может являться причиной медленной работы системы. В этом случае необходимо добавить еще один или несколько рабочих процессов в кластере.
Комментариев нет:
Отправить комментарий