0 0
1. Вопросы эксплуатации серверов приложений

Вопрос 1.1
По какому именно счетчику (или счетчикам) Performance Monitor можно оценить, насколько значительно загружены процессоры на сервере с точки зрения ОС Windows?

1. \System\Processes и \System\Threads 2. \System\Processor Queue Length и \Processor(_Total)% User Time 3. \Processor(_Total)\% User Time и \Processor(_Total)\% IdleTime 4. \Processor(_Total)% Processor Time 5. \System\Processor Queue Length и \Processor(_Total)\% Processor Time

С помощью Performance monitor в простых случаях достаточно контролировать следующие параметры:

3. Processor [_Total] (Процессор [_Total]) – % Processor Time (% загрузки процессора) – рекомендованный максимум – не более 70 % в течение длительного времени.
4. System (Система) – Processor Queue Length (Очередь к процессорам) – рекомендованный максимум – не более 2 * количество ядер процессоров в течение длительного времени.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.123

Вопрос 1.2 
Какой инструмент подходит для сбора данных по загруженности оборудования с рабочего сервера в ОС Windows?

1. grep2. ЦУП3. logman 4. ТЦ5. ЦКК6. Верны ответы 3 и 5

grep — это вообще утилита для работы с регулярными выражения в UNIX.ЦУП — это не инструмент, а набор инструментов.logman — стандартная утилита Windows. Что-то вроде командной строки для Performance Monitor. Позволяет собирать счетчики производительности на компьютере. Пример создания счетчика: logman create counter «proctime» -f csv -si 1 —v -o «с:\logman\proctime.csv» -c  «\Processor(_Total)\% Processor time»ТЦ — конфигурация, входящая в комплект корпоративного инструментального пакета. Служит для проведения тестирования конфигураций под виртуальными пользователями. Может собирать и анализировать информацию, полученную при тестировании.ЦКК — конфигурация, позволяющая проводить мониторинг проблем производительности. Также может получать показатели счетчиков производительности с выбранного сервера. Для этого в справочнике «Рабочие серверы» нужно добавить необходимый сервер. Далее с помощью внешней компоненты база сможет собирать нужную информацию.

Вопрос 1.3
С помощью каких механизмов можно определить загрузку CPU на сервере в ОС Linux?

1. /proc/loadavg 2. /proc/cpuinfo3. /proc/latency_stats4. /proc/vmstats

/proc/loadavg — показывает среднюю загруженность процессора за 1,5 и 15 минут.
/proc/cpuinfo — содержит информацию о процессоре (модель, частота, объем кэша и пр.)
/proc/latency_stats — такого механизма нет вообще.
/proc/vmstats — содержит информацию об использовании виртуальной памяти. Многие путают с утилитой vmstat.
Смотреть в терминале командой cat (например: cat /proc/loadavg) или просто открыв файл.

Вопрос 1.4
Рекомендуемое среднее значение счетчика Avg. Disk Queue Length утилиты Windows Performance Monitor для веб-сервера должно быть:

1. 2 и ниже на один диск (считаются диски, работающие параллельно)2. от  1 до 5 на один диск (считаются диски, работающие параллельно)3. не более 10 на всю дисковую подсистему4. от 10 до 100 на всю дисковую подсистему

Physical Disk (Физический диск) – Avg. Disk Queue Length (Средняя длина очереди к дискам) – обязательно для системных дисков отдельно, для диска с базой отдельно, для диска с журналом транзакций (если такой есть) отдельно. Рекомендованный максимум – не более 2 * количество дисков, работающих параллельно (при этом всегда надо иметь в виду, что RAID0, обеспечивающий параллельность работы дисков, на дисках с базой собирают крайне редко).На практике этот счетчик достаточно сложно применять при оценке загруженности дискового хранилища. По этой причине этот счетчик может быть заменен на \PhysicalDisk(_Total)\Avg. Disk Sec/Read и \PhysicalDisk(_Total)\ Avg. Disk Sec/Write. При работе с дисковым кешем нормальное время на чтение или запись обычно составляет менее 10 мс. В случае работы с дисками время на чтение или запись не должно превышать 50–200 мс. Если вы видите, что есть периоды, в которые среднее время значительно возрастает и превышает 200 мс, то это серьезный повод задуматься о производительности дискового хранилища, с которым вы работаете.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.123

Вопрос 1.5
С помощью каких механизмов ОС Linux можно определить, что памяти достаточно?

1. /proc/meminfo 2. /proc/stat3. /proc/iomem4. /proc/swaps5. С помощью любого из вариантов 1,2,3,4

/proc/meminfo — содержит информацию о системной памяти.
/proc/stat — различные статистические данные с последней перезагрузки.
/proc/iomem — карта текущей системной памяти для устройств
/proc/swaps — содержит информацию о файле (диске) подкачки

Вопрос 1.6
Среднее значение показателя Pages\sec утилиты Windows Performance Monitor для исследуемого сервера приложений за период мониторинга равно 200. Это означает:

1. нехватку оперативной памяти сервера, поскольку среднее рекомендуемое значение этого показателя должно быть не больше 20.2. нехватки оперативной памяти нет, показатель находится в пределах нормы.3. показатель Pages\sec не является индикатором нехватки оперативной памяти.4. однозначный вывод о нехватке оперативной памяти по этому показателю сделать нельзя, необходим также анализ показателей Available Mbytes и Avg. Disk Queue Length.

Практика показала, что показатель Memory (Память) – Pages/sec (обмен страниц/с), рекомендованный для контроля достаточности оперативной памяти, слишком часто дает ложноположительное срабатывание. Его можно включать в состав контролируемых параметров (рекомендованная норма – 0, максимум – не более 20), но обращать на него внимание надо по факту постоянно ненулевого значения и в совокупности с параметрами «% использования выделенной памяти» и «Средняя длина очереди к дискам». Тогда будет видно, например, идет ли речь о свопинге. Если же этот показатель имеет высокое среднее значение, но речь идет о «гребенке» из пиков и нулей с интервалом в несколько шагов замера, без загрузки диска и при большом запасе свободной оперативной памяти, то, вероятнее всего, ситуация нормальная, а не проблемная.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.124

Вопрос 1.7
Как найти, из какой именно директории запущен кластер серверов?

1. Запустить ragent из консоли с указанием портов. В случае запущенного кластера на тех же портах будет выдана ошибка с указанием пути, откуда ранее был запущен кластер2. Запустить ragent как сервис с указанием портов. В случае запущенного кластера на тех же портах будет выдана ошибка с указанием пути, откуда ранее был запущен кластер3. В технологическом журнале всегда написано, из какой именно директории запущен кластер серверов4. С помощью диспетчера задач

Необходимо открыть Task manager (Диспетчер задач), найти процесс ragent, в контекстном меню выбрать пункт Properties (Свойства). В поле Location (Расположение) будет указана директория, откуда запущен процесс.Альтернативным вариантом является в контекстном меню выбрать пункт Open file location (Открыть место хранения файла).

Вопрос 1.8
Как назначить фоновые задания на определенный рабочий сервер?

1. Используя «Требования назначения функциональности» в разделе «Рабочие серверы» консоли администрирования 2. Используя настройку «Свойства» в разделе «Рабочие процессы» консоли администрирования3. Используя настройку «Свойства» в разделе «Менеджеры кластера» консоли администрирования4. В разделе «Администраторы» консоли администрирования

Если необходимо разместить все фоновые задания на рабочем сервере Server, то для этого необходимо для рабочего сервера Server задать следующее требование назначения функциональности: Объект требования: Клиентское соединение с ИБ.
 Тип требования: Назначать.
 Имя ИБ: не указывается.
 Значение дополнительного параметра: BackgroundJob.CommonModule.
Источники:
ИТС: Требования назначения функциональности

Вопрос 1.9
Как назначить соединения определенной информационной базы на определенный рабочий сервер?

1. Используя настройку «Свойства» в разделе «Информационные базы» консоли администрирования2. Используя «Требования назначения функциональности» в разделе «Рабочие серверы» консоли администрирования3. Используя настройку «Свойства» в разделе «Менеджеры кластера» консоли администрирования4. Используя «Параметры рабочих процессов» в разделе «Рабочие серверы» консоли администрирования

Необходимо настроить кластер серверов таким образом, чтобы информационную базу Base обслуживал только рабочий сервер Server. Для этого необходимо настроить следующие правила: Для рабочего сервера Server:
 Объект требования: Любой объект требования.
 Тип требования: Назначать.
 Имя ИБ: Base.
 Значение дополнительного параметра: не указывается.
Указанные правила «разнесут» по рабочим серверам все механизмы кластера серверов: соединения, фоновые задания, сервисы сеансовых данных и т. д.Источники:
ИТС: Требования назначения функциональности

Вопрос 1.10
Какую именно задачу решают соединения в кластере серверов?

1. Соединение является средством доступа сеансов к кластеру серверов «1С:Предприятия».2. Соединение определяет активного пользователя информационной базы и поток управления этого пользователя.3. Соединения используются для взаимодействия процессов кластера.4. Верны варианты 1 и 35. Верны варианты 1 и 2.

Соединение является средством доступа сеансов к кластеру серверов «1С:Предприятия», содержит ограниченное множество данных соединения, не отождествляется с активным пользователем. Также соединения используются для взаимодействия процессов кластера.Источники:
ИТС: Сеансы и соединения

Вопрос 1.11
Что такое сеансы?

1. Сеанс определяет активного пользователя информационной базы и поток управления этого пользователя.2. Сеанс является исключительно экземпляром запущенного клиентского приложения.3. Под сеансами понимаются запущенные экземпляры клиентского приложения или веб-приложения, к ним не относятся экземпляр фонового задания или обращение к Web-сервису.4. Сеанс получает доступ к кластеру с помощью соединения, соответственно, при любом разрыве соединения сеанс завершается, так как сеанс не может существовать без соединения.

Сеанс определяет активного пользователя информационной базы и поток управления этого пользователя. Активным пользователем может являться:• экземпляр клиентского приложения «1С:Предприятия»;
• экземпляр веб-приложения, в котором исполняется веб-клиент;
• экземпляр внешнего соединения (полученный из объекта V83.COMConnector);
• один экземпляр фонового задания;
• одно обращение к Web-сервису.
Источники:
ИТС: Сеансы и соединения

Вопрос 1.12
Что такое спящие сеансы?

1. Сеанс, «повисший» на сервере, если выполнялся серверный код в то время, когда клиентское приложение было аварийно или принудительно завершено. При перезапуске клиента, при назначении соединения, сеанс возобновляет работу. Администратор может установить предельное время ожидания перезапуска клиента.2. При длительной неактивности, при «засыпании» клиентского компьютера, сеанс не завершается, а переходит в специальный «спящий» режим. При возобновлении активности, при назначении соединения, сеанс возобновляет работу. Администратор может установить предельное время нахождения сеансов в спящем режиме.3. Фоновые задания, ожидающие активизации в заданное время для продолжения работы. Администратор может устанавливать предельное время нахождения заданий в спящем режиме.4. Верны ответы 1 и 2.5. Верны ответы 1 и 3.

Сеансы могут быть активными и спящими. Одно из назначений спящего сеанса – сохранение работоспособности клиентского приложения после перехода клиентского компьютера в различные режимы энергосбережения. Сеанс переходит в спящее состояние в двух случаях:• При нештатном разрыве соединения, назначенного сеансу (для толстого клиента, внешнего соединения, тонкого клиента при прямом соединении с сервером). При физическом отключении сети сервер обнаруживает разрыв соединения с клиентским приложением в течение 2-3 минуты.
• По истечении интервала времени, в течение которого клиентское приложение, использующее сеанс, не проявляется активности (для веб-клиента и тонкого клиента при подключении через веб-сервер). Если компьютер клиента не находится в режиме энергосбережения, и клиентское приложение бездействует (не выполняет никаких действий пользователя), то оно периодически вызывает сервер «1С:Предприятия» с интервалом 5-10 минут для поддержания активности сеанса. Поэтому не рекомендуется устанавливать время засыпания сеанса меньше 10 минут.
Источники:
ИТС: Сеансы и соединения

Вопрос 1.13
Как настроить время засыпания пассивного сеанса и время завершения спящего сеанса?

1. Используя настройку «Свойства» в разделе «Информационные базы» консоли администрирования.2. В конфигураторе в «Параметрах информационной базы» в разделе «Администрирование».3. В конфигураторе через «Сервис» — «Параметры» — «Запуск 1С:Предприятия».4. Используя настройку «Свойства» в разделе «Соединения» консоли администрирования.

Время перевода пассивного сеанса в спящее состояние и время, по истечении которого спящий сеанс будет завершен, задается в диалоге настройки параметров информационной базы, которые редактируются с помощью конфигуратора.Источники:
ИТС: Параметры информационной базы

Вопрос 1.14
Может ли сеанс работать на разных rphost-ах?

1. Может, но для этого необходим перезапуск экземпляра клиентского приложения.2. Может.3. Не может, так как при разрыве соединения с rphost-ом сеанс завершается.4. Не может, так как определенная информационная база может использовать только определенный рабочий процесс.

В процессе работы системы сеанс сохраняется при различных сбоях, и возможно восстановление работы после переустановки соединения.Источники:
ИТС: Отказоустойчивый кластер

Вопрос 1.15
Как узнать число активных сеансов?

1. В разделе «Сеансы» консоли администрирования.2. В клиентском приложении через «Сервис» — «Активные пользователи».3. В разделе «Соединения» консоли администрирования.4. В свойствах кластера консоли администрирования.5. Верны ответы 1 и 3.

Администратор кластера может получить список существующих сеансов как для всего кластера, так и в разрезе информационных баз. Для этого утилита администрирования кластера и средства программного администрирования имеют соответствующие возможности.Источники:
ИТС: Сеансы и соединения

Вопрос 1.16
Как перезапустить IIS?

1. Только перезапуском операционной системы.2. Только через Управление компьютером — Службы — Перезапустить соответствующую службу.3. С помощью Диспетчера IIS.4. С помощью Диспетчера задач.5. С помощью командной строки в программе IISReset.6. Верны ответы 3 и 5.

Перезапуск IIS эквивалентен остановке и новому запуску IIS, но выполняется с помощью одной команды. Имеется два способа перезапуска IIS:• с помощью Диспетчер IIS;
• с помощью командной строки в программе IISReset.
Источники:
MSDN: Перезапуск IIS

Вопрос 1.17
Как перезапустить Apache в Windows?

1. Из командной строки: apache — k restart.2. Через Управление компьютером — Службы — Перезапустить соответствующую службу.3. С помощью диспетчера задач.4. Только перезапуском операционной системы.5. С помощью командной строки в программе ApacheReset.6. Верны ответы 1,2 и 3.

В диспетчере задач есть вкладка «Службы», где можно перезапустить нужную службу. Из командной строки команда описана в документации к Apache.Источники:
Apache: Stopping and Restarting

Вопрос 1.18
Как в ОС Windows определить, какой процесс сейчас держит файл открытым для чтения/записи?

1. С помощью Диспетчера задач2. С помощью Process Explorer3. С помощью Performance Monitor4. С помощью pslist

Process Explorer — приложение для мониторинга процессов в системе. Используя эту программу можно не только отследить какой-либо процесс, но и уточнить такие данные, как используемые этим процессом файлы и папки.PsList — программа предназначена для работы в режиме командной строки и позволяет выполнять администрирование локальных и удаленных систем. PsList использует для получения данных системные счетчики производительности.Источники:
PsList
Process Explorer

Вопрос 1.19
По какому счетчику (или счетчикам) Performance Monitor можно оценить, что дисковая подсистема справляется с точки зрения ОС Windows?

1. \System\File Read Bytes/sec и \System\File Write Bytes/sec2. \System\File Read Bytes/sec и \PhysicalDisk()\Avg. Disk Queue Length3. \PhysicalDisk()\Avg. Disk Sec/Write и \PhysicalDisk()\Avg. disk Sec/Read4. \PhysicalDisk()\Avg. Disk Queue Length

Physical Disk (Физический диск) – Avg. Disk Queue Length (Средняя длина очереди к дискам) – обязательно для системных дисков отдельно, для диска с базой отдельно, для диска с журналом транзакций (если такой есть) отдельно. Рекомендованный максимум – не более 2 * количество дисков, работающих параллельно (при этом всегда надо иметь в виду, что RAID0, обеспечивающий параллельность работы дисков, на дисках с базой собирают крайне редко).На практике этот счетчик достаточно сложно применять при оценке загруженности дискового хранилища. По этой причине этот счетчик может быть заменен на \PhysicalDisk(_Total)\Avg. Disk Sec/Read и \PhysicalDisk(_Total)\ Avg. Disk Sec/Write. При работе с дисковым кешем нормальное время на чтение или запись обычно составляет менее 10 мс. В случае работы с дисками время на чтение или запись не должно превышать 50–200 мс. Если вы видите, что есть периоды, в которые среднее время значительно возрастает и превышает 200 мс, то это серьезный повод задуматься о производительности дискового хранилища, с которым вы работаете.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.123

Вопрос 1.20
По какому счетчику (или счетчикам) Performance Monitor можно оценить, что рабочему серверу достаточно оперативной памяти в ОС Windows?

1. \Memory\Available Mbytes2. \Memory\Pages/sec3. \System\Context Switches/sec и \Memory\Pages/sec

Memory (Память) – Available Mbytes (Доступно, Мбайт) – счетчик показывает объем свободной физической оперативной памяти. Приближение к нулю свидетельствует о недостатке оперативной памяти.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.123

Вопрос 1.21
По какому счетчику (или счетчикам) Performance Monitor можно оценить, что серверу СУБД MS SQL Server достаточно оперативной памяти в ОС Windows?

1.\Memory\Available Mbytes2. \SQLServer:SQL Statstics\Batch Requests/Sec3. \SQLServer:Databases(tempdb)\Log File(s) Used Size (KB)4. \SQLServer:Buffer Manager\Page Life Expectancy

Ответ взят из учебного тестирования.

Вопрос 1.22
Как изменить число рабочих процессов в кластере серверов 8.3?

1. Изменить настройку в конфигураторе2. Изменить число рабочих процессов rphost на рабочий сервер в консоли администрирования серверов 1С3. Изменить «Число соединений на процесс» и «Число информационных баз на процесс»4. Просто добавить rphost в консоли администрирования серверов 1С в дереве для конкретного рабочего сервера.


2. Вопросы эксплуатации кластера серверов

Вопрос 2.1
Что в обязательном порядке должна иметь учетная запись, от имени которой работает сервер приложений 1С?

1. Право «Список содержимого папки» на каталог временных файлов в ОС Windows для Windows-систем.2. Необходимо только право «Чтение и запись» на каталог временных файлов для Linux-систем.3. Имя USR1CV8.4. Пользователю даются необходимые права на каталог службеных файлов сервера. Пользователю назначаются права: Вход в систему как сервис (Log on as a service), Вход в систему как пакетное задание (Log on as a batch job) и он включается в группу Пользователи журналов производительности (Performance Log Users)5. Пользователю даются только необходимые права на каталог служебных файлов сервера.6. Правильные варианты 2 и 4

Пользователь выбирается из списка существующих, или создается стандартный локальный USR1CV8 (при существовании такого пользователя он пересоздается). Пользователь не удаляется при деинсталляции «1С:Предприятия». Пользователю назначаются права: Вход в систему как сервис (Log on as a service), Вход в систему как пакетное задание (Log on as a batch job) и он включается в группу Пользователи журналов производительности (Performance Log Users).Источники:
ИТС: Установка главного сервера кластера

Вопрос 2.2
Запуск процессов кластера 1С от имени разных учетных записей ОС:

1. невозможен.2. агенты кластера могут быть запущены от имени другого пользователя путем конфигурирования файла conf.cfg3. менеджеры кластера могут быть запущены от имени другого пользователя путем конфигурирования файла swpuser.ini4. рабочие процессы могут быть запущены от имени другого пользователя путем конфигурирования файла swpuser.ini

Файл swpuser.ini предназначен для переопределения пользователей, от имени которых будут выполняться рабочие процессы и менеджер кластера. По умолчанию рабочий процесс и менеджер кластера выполняются от имени того же пользователя, что и агент сервера.Источники:
ИТС: Описание и расположение служебных файлов

Вопрос 2.3
Как наиболее точно получить список рабочих процессов кластера?

1. С помощью конфигуратора: Администрирование — Список рабочих процессов.2. С помощью диспетчера задач. Рабочие процессы отображаются как процессы rphost.exe.3. С помощью консоли кластера 1С, в ветке Рабочие процессы.4. Выбрав пересечение списков с точки зрения ОС и с точки зрения кластера серверов.

Список рабочих процессов может быть отображен двумя способами:
  • для всего кластера в целом,
  • отдельно для выбранного сервера кластера.
Чтобы отобразить список рабочих процессов для всего кластера в целом, следует в дереве центральных серверов выбрать нужный сервер, выбрать нужный кластер, зарегистрированный на данном сервере, а затем выбрать и раскрыть ветку Рабочие процессы.Для отображения списка рабочих процессов только для выбранного сервера кластера следует в дереве центральных серверов выбрать нужный сервер, выбрать нужный кластер, выбрать нужный сервер кластера, а затем выбрать и раскрыть ветку Рабочие процессы.Но по тестам правильный ответ 4.Источники:
ИТС: Просмотр списка рабочих процессов

Вопрос 2.4
Как определить, из какой директории запущен сервер 1С?

1. По кнопке «i» (информация о программе) в режиме 1С:Предприятия.2. По кнопке «i» (информация о программе) в Конфигураторе.3. По консоли кластера 1С в свойствах кластера.4. По диспетчеру задач: процесс ragent.exe — Открыть место хранения файла.5. В консоли сервера windows: Службы — Агент сервера 1С… — Свойства.6. Верны ответы 4 и 5.

Необходимо открыть Task manager (Диспетчер задач), найти процесс ragent, в контекстном меню выбрать пункт Properties (Свойства). В поле Location (Расположение) будет указана директория, откуда запущен процесс. (Альтернативным вариантом является в контекстном меню выбрать пункт Open file location (Открыть место хранения файла)).Также можно узнать путь к исполняемому файлу в консоли сервера, вкладка Services (Службы). В свойствах службы будет прописан путь (этот путь берется из реестра).

Вопрос 2.5
Укажите наиболее правильный способ перезапуска рабочих процессов кластера серверов 1С:

1. перезапуск операционной системы сервера.2. перезапуск процесса ragent планировщиком заданий.3. настроить интервал их перезапуска в консоли кластера серверов 1С.

В свойствах кластера сервера есть свойство:Интервал перезапуска __ секунд — Интервал времени после запуска процесса, по истечении которого рабочий процесс перезапускается. Нулевое значение означает, что рабочие процессы не будут перезапускаться автоматически.Источники:
ИТС: Работа со списком кластеров

Вопрос 2.6
Что необходимо для автоматического формирования дампов в случае падения процессов 1С?

1. В logcfg.xml внести строку <dump type=«3» location=«C:\dumps» create=«true»></dump>2. Использовать утилиту Procdump, запуская из bat-файла команду «procdump.exe -ma rphost dump_rphost_hand»3. Использовать утилиту Procdump, запуская из bat-файла команду «procdump.exe -ma <указать PID> dump_rphost_hand»4. Верны ответы 2 и 3.5. Верны ответы 1 и 3.6. Верны все ответы.

Файл logcfg.xml служит для настройки параметров технологического журнала и механизма генерации дампов памяти при аварийном завершении работы системы «1С:Предприятие». Элемент определяет параметры дампа, создаваемого при аварийном завершении приложения.Источники:
ИТС: Описание и расположение служебных файлов
ProcDump

Вопрос 2.7
Что необходимо для получения дампа процесса, если происходят зависания процессов, а не падения?

1. В logcfg.xml внести строку2. Использовать утилиту Procdump, запуская из bat-файла команду «procdump.exe -ma rphost dump_rphost_hand»3. Использовать утилиту Procdump, запуская из bat-файла команду «procdump.exe -ma <указать PID> dump_rphost_hand»4. Верны ответы 2 и 3.5. Верны ответы 1 и 3.6. Верны все ответы.

ProcDump — утилита для мониторинга загрузки процессора и создания дампа процессов. Может создавать дампы по имени процесса, имени службы или PID.Источники:
ИТС: Описание и расположение служебных файлов
ProcDump

Вопрос 2.8
Выберите настройку, более других подходящую для учета статистики аварийных завершений процессов.

1. В logcfg.xml внести строку2. Создать bat-файл с командой «procdump.exe — ma rphost dump_rphost_hand»3. С помощью ЦКК4. Создать bat-файл с командой «procdump.exe -ma rmngr dump_rmngr_auto»5. Верны ответы 1 и 36. Верны все варианты

ЦКК позволяет вывести различные отчеты о дампах:
  • пользователям с ролью Мониторинг доступен пункт Статистика по дампам в разделе меню ЦКК Мониторинг;
  • пользователям с ролью Полные права доступны пункты Анализ дампов, Монитор обработки дампов и Статистика по дампам в разделе меню ЦКК Мониторинг.
1,2,4 пункты лишь создают дампы, но не ведут статистику.Источники:
ИТС: ЦКК. Отчеты о дампах

Вопрос 2.9
Как определить процесс, в данный момент создающий нагрузку на диск? Используется ОС Windows (укажите ответ для Windows 8, 8.1, 2012R2).

1. С помощью Центра управления производительностью, аналитический показатель «Анализ загрузки дисков».2. С помощью Performance Monitor — счетчик Avg. Disk Queue Length3. С помощью Монитора ресурсов — закладка Диск.4. С помощью Диспетчера задач — закладка Приложения.5. Верны ответы 3 и 4

В диспетчере задач на закладке Приложения нет данных по загрузке дисков.Счетчик Avg. Disk Queue Length (средняя длина очереди к диску) — это среднее общее количество запросов на чтение и на запись, которые были поставлены в очередь для соответствующего диска в течение интервала измерения.В Центре управления производительностью нет показателя «Анализ загрузки дисков»В мониторе ресурсов на закладке «Диск» показывается Чтение/Запись байт/с

Вопрос 2.10
Как получить список всех PID всех процессов кластера? Используется ОС Windows.

1. С помощью консоли кластера — ветка Рабочие процессы.2. С помощью Диспетчера задач — закладка Процессы.3. С помощью Конфигуратора — меню Администрирование — Процессы.

У рабочего процесса есть свойство:PID процесса ОС — Номер процесса (в терминах ОС, под управлением которой выполняется рабочий процесс).Но в учебном тестировании правильный ответ 2.Источники:
ИТС: Просмотр списка рабочих процессов

Вопрос 2.11
Как определить процесс, более других использующий CPU? Используется ОС Windows.

1. С помощью Центра управления производительностью — анализ загрузки процессора.2. С помощью Performance Monitor — Счетчик % Processor Time (без выбора свойства «All instances»; при задании счетчика через logman не указывать «*»).3. С помощью Монитора ресурсов — закладка Процессор.4. С помощью Диспетчера задач — закладка Процессы.5. Верны ответы 3 и 4.

В центре управления производительностью нет показателя «Анализ загрузки процессора».All instances в счетчике % Processor Time означает, что будут выбраны по одному счетчику на каждый процессор и счетчик _Total. Отдельно по процессам счетчик не показывает.

Вопрос 2.12
Что такое центральный сервер?

1. Рабочий сервер, на котором запущен процесс ragent2. Рабочий сервер, на котором запущен главный менеджер кластера.3. Рабочий сервер, для которого установлено свойство «Центральный».4. Верны ответы 1 и 2.5. Верны ответы 2 и 3.6. Рабочий сервер, в данный момент обслуживающий клиент-серверные вызовы.

В состав любого кластера должен входить минимум один рабочий сервер, у которого установлено свойствоЦентральный сервер. Максимальное количество центральных серверов не ограничено. Это означает, что для всех рабочих серверов, входящих в состав кластера серверов, можно установить флажок Центральный сервер. Рабочий сервер может быть центральным сервером в одном кластере и обычным (не центральным) – в другом кластере серверов. Также, рабочий сервер с установленным признаком Центральный сервер, может выступать в качестве точки подключения к кластеру серверов, в состав которого он (рабочий сервер) входит.Рабочая часть рабочего сервера включает в себя менеджер кластера (rmngr) и рабочий процесс (rphost). Менеджер кластера обеспечивает функционирование рабочего сервера и взаимодействие с другими рабочими серверами, входящими в состав кластера. Рабочий процесс непосредственно обслуживает клиентские приложения, взаимодействует с сервером баз данных, исполняет код, который в прикладном решении отмечен как выполняемый на сервере. Количество рабочих процессов определяется настройками рабочего сервера, кластера серверов и физическими характеристиками компьютера, на котором работает рабочий сервер.В состав рабочего сервера может входить минимум один менеджер кластера. Если менеджер кластера работает на центральном сервере, то он называется главным менеджером кластера. Максимальное количество менеджеров кластера равно количеству сервисов кластера. Однако если один рабочий сервер входит в состав нескольких кластеров, то для каждого кластера будет создан минимум один менеджер кластера.Источники:
ИТС: Устройство кластера серверов

Вопрос 2.13
Что такое рабочий сервер?

1. Сервер, на котором запущен процесс ragent2. Сервер, на котором запущен процесс rmngr3. Сервер, на котором запущен процесс rphost4. Сервер, на котором запущен процесс 1cv85. Верны варианты 1-36. Верны все варианты

Основной единицей кластера серверов выступает рабочий сервер. Рабочий сервер – это компьютер, на котором выполняется агент сервера (ragent). Агент сервера «представляет» рабочий сервер в кластере серверов. Как правило, на одном компьютере располагается один рабочий сервер, однако в некоторых случаях (например, для целей отладки) возможна работа на одном физическом компьютере нескольких рабочих серверов. Рабочие серверы, расположенные на одном компьютере, должны иметь разные номера сетевых портов, идентифицирующих рабочий сервер, и работать с разными каталогами данных кластера.Рабочая часть рабочего сервера включает в себя менеджер кластера (rmngr) и рабочий процесс (rphost).Источники:
ИТС: Устройство кластера серверов

Вопрос 2.14
По какой формуле рассчитывается максимальный уровень отказоустойчивости?

1. Уровень отказоустойчивости = Количество центральных серверов кластера — 12. Уровень отказоустойчивости = Количество серверов кластера — 13. Уровень отказоустойчивости = Количество рабочих серверов кластера / Количество центральных серверов кластера.4. Уровень отказоустойчивости = Количество рабочих серверов кластера / (Количество центральных серверов кластера — 1)

Уровень отказоустойчивости определяет максимальное количество рабочих серверов, входящих в состав кластера, одновременный выход из строя которых не приведет к аварийному завершению сеансов подключенных пользователей.Таким образом, если в кластер серверов входит только один рабочий сервер, то максимальный уровень отказоустойчивости будет 0.Уровень отказоустойчивости связан с количеством центральных серверов в кластере. Количество центральныхсерверов определяет возможность создания новых соединений. Если, например, в кластер входит двацентральных сервера при общем количестве 3 рабочих сервера, то пользователи смогу подключаться к информационным базам в случае аварийного завершения одного центрального сервера. При этом остается два работающих рабочих сервера: один центральный и один рабочий. Если в кластере будет только одинцентральный сервер, то аварийное завершение этого сервера приведет к тому, что кластер станет недоступен пользователям, несмотря на то, что в нем сохранили работоспособность еще 2 рабочих сервера.Таким образом, можно вывести следующую формулу, связывающую количество центральных серверов в кластере и уровень отказоустойчивости: Количество центральных серверов = Уровень отказоустойчивости + 1.Источники:
ИТС: Отказоустойчивый кластер

Вопрос 2.15
По какой формуле рассчитывается доступность информационной системы?

1. Доступность = Требуемое количество времени работы системы / Общее время (за период).2. Доступность = Требуемое количество времени работы системы / Допустимое время простоя системы (за период).3. Доступность = Допустимое время простоя системы / Общее время (за период).4. Доступность = Общее время / Допустимое время простоя системы (за период).

Доступность информации — состояние информации, характеризуемое способностью информационной системы обеспечивать беспрепятственный доступ к информации субъектам, имеющим на это полномочия.Процент доступности рассчитывается как отношение количества минимально допустимого фактического времени работы системы только в штатном режиме за период (например, количество часов за квартал) к общему количеству часов за период.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.30

Вопрос 2.16
Как изменить число рабочих процессов в 1С:Предприятии 8.3?

1. С помощью консоли кластера. Ветка Рабочие процессы — Добавить.2. Число рабочих процессов устанавливается системой автоматически.3. Число рабочих процессов устанавливается системой автоматически, но возможно косвенное регулирование с помощью консоли кластера 1С, путем изменения максимального объема памяти, количества подключений и количества баз на один процесс.4. Число рабочих процессов устанавливается системой автоматически для сервера с лицензией ПРОФ. Для лицензии КОРП возможно косвенное регулирование с помощью консоли кластера 1С, путем изменения максимального объема памяти, количества подключений и количества подключений и количества баз на один процесс.

Сервер уровня КОРП «1С:Предприятия 8.3» предоставляет пользователю расширенные возможности по сравнению с «обычным» 64-разрядным сервером:
Гибкое управление нагрузкой в кластере:
  • безопасный расход памяти за один вызов;
  • количество ИБ на процесс;
  • объем памяти рабочих процессов, до которого сервер считается производительным;
  • максимальный объем памяти рабочих процессов;
  • стратегия балансировки (по памяти, по производительности);
Источники:
1С: О выпуске финальной версии 8.3

Вопрос 2.17
Для настройки технологического журнала используется файл:

1. swpuser.ini2. logcfg.xml3. 1cv8clst.lst4. 1cestart.cfg5. conf.cfg6. debugcfg.xml

Файл logcfg.xml служит для настройки параметров технологического журнала и механизма генерации дампов памяти при аварийном завершении работы системы «1С:Предприятие».Источники:
ИТС: Описание и расположение служебных файлов
ИТС: Технологический журнал

Вопрос 2.18
Реестр кластера находится в файле:

1. swpuser.ini2. logcfg.xml3. 1cv8clst.lst4. 1cestart.cfg5. conf.cfg6. debugcfg.xml

Файл 1CV8Clst.lst расположен в каталоге данных каждого рабочего сервера, отмеченного как центральный. Содержит реестр кластера и хранит следующую информацию:
  • список информационных баз, зарегистрированных в данном кластере;
  • список рабочих серверов, входящих в кластер;
  • список рабочих процессов, входящих в кластер;
  • список менеджеров кластера;
  • список сервисов кластера;
  • список администраторов кластера.
Источники:
ИТС: Описание и расположение служебных файлов

Вопрос 2.19
Настроить запуск процессов rphost от имени определенного пользователя можно с помощью файла:

1. swpuser.ini2. logcfg.xml3. 1cv8clst.lst4. 1cestart.cfg5. conf.cfg6. debugcfg.xml

Файл swpuser.ini предназначен для переопределения пользователей, от имени которых будут выполняться рабочие процессы и менеджер кластера. По умолчанию рабочий процесс и менеджер кластера выполняются от имени того же пользователя, что и агент сервера.Источники:
ИТС: Описание и расположение служебных файлов

Вопрос 2.20
Список информационных баз, зарегистрированных в данном кластере, имеется в файле:

1. 1CV8Reg.lst2. logcfg.xml3. 1cv8clst.lst4. 1cestart.cfg5. conf.cfg6. debugcfg.xml

1CV8Reg.lst — файл использовался до версии 8.3. В 8.3 за это отвечает файл 1CV8Clst.lst. Но по результатам учебного тестирования ответ 1.Источники:
ИТС: Размещение данных 1С:Предприятия 8
ИТС: клиент-серверный вариант работы
ИТС: Описание и расположение служебных файлов

Вопрос 2.21
Для клиент-серверной системы на платформе 1С:8.3 ПРОФ изменение количества рабочих процессов сервера:

1. невозможно2. технически возможно косвенными методами (изменением максимального количества баз или соединений на один процесс.). Ограничения ПРОФ касаются текущей политики лицензирования.3. возможно явным указанием количества рабочих процессов в консоли кластера.

Сервер уровня КОРП «1С:Предприятия 8.3» предоставляет пользователю расширенные возможности по сравнению с «обычным» 64-разрядным сервером:
Гибкое управление нагрузкой в кластере:
  • безопасный расход памяти за один вызов;
  • количество ИБ на процесс;
  • объем памяти рабочих процессов, до которого сервер считается производительным;
  • максимальный объем памяти рабочих процессов;
  • стратегия балансировки (по памяти, по производительности);
По результатам учебного тестирования правильный ответ 2.Источники:
1С: О выпуске финальной версии 8.3

Вопрос 2.22
Для клиент-серверной системы на платформе 1С:8.3 КОРП изменение количества рабочих процессов сервера

1. недоступно и определяется системой автоматически.2. возможно косвенными методами (изменение максимального количества баз или соединений на один процесс).3. хотя и возможно технически, но это является нарушением лицензионного соглашения.

Сервер уровня КОРП «1С:Предприятия 8.3» предоставляет пользователю расширенные возможности по сравнению с «обычным» 64-разрядным сервером:
Гибкое управление нагрузкой в кластере:
• безопасный расход памяти за один вызов;
• количество ИБ на процесс;
• объем памяти рабочих процессов, до которого сервер считается производительным;
• максимальный объем памяти рабочих процессов;
• стратегия балансировки (по памяти, по производительности);
Источники:
1С: О выпуске финальной версии 8.3

Вопрос 2.23
Для клиент-серверной информационной системе на платформе 1С:8.3 технологический журнал фиксирует исчезновение процесса rphost, при этом дамп не сформировался, а нагрузка на систему по журналу Windows Performance Monitor снизилась. Что это означает?

1. Произошло падение рабочего процесса без образования дампа. Необходимо расследование ситуации.2. Сервер удалил один рабочий процесс по причине снижения нагрузки. Система работает без ошибок.3. Возможны оба вариант. Необходимо проанализировать записи технологического журнала для получения правильного ответа.

В том случае, если в результате анализа собранных показателей процесс признается проблемным (из анализа исключается показатель доступной производительности), то возможно принудительное завершение проблемного процесса (с формированием дампа аварийного завершения). Принудительное завершение (и формирование дампа аварийного завершения) выполняется в том случае, если в свойства кластера установлен флажок Принудительно завершать проблемные процессы. Процессы на дополнительных серверах завершаются с помощью запросов к соответствующим агентам кластера.Количество рабочий процессов определяется автоматически и при уменьшении нагрузки сервер может автоматически «убить» некоторые рабочие процессы. Но при этом также возможен вариант, что процесс «упал» без образования дампа.Источники:
ИТС: Устройство кластера серверов

Вопрос 2.24
Чем отличается процесс от потока?

1. Несколько процессов может существовать внутри одного потока.2. Несколько потоков может существовать внутри одного процесса.3. Процессы и потоки — не связанные понятия.4. Верны варианты 1 и 2.

Обслуживание каждого клиентского соединения рабочий процесс выполняет в отдельном потоке. Таким образом, в некоторый момент времени рабочий процесс может выполнять несколько клиентских потоков, количество которых, как правило, меньше количества соединений (т. к. не все соединения активны постоянно).Источники:
Статистика загруженности рабочих процессов

Вопрос 2.25
Как узнать, находится ли сеанс данный момент в клиент-серверном вызове?

1. По непустому полю в колонке «Заблокировано СУБД» раздела «Сеансы» консоли администрирования кластера.2. По пустому полю в колонке «Последняя активность» раздела «Сеансы» консоли администрирования кластера.3. По непустому полю в колонке «Соединение» раздела «Сеансы» консоли администрирования кластера.4. По непустому полю в колонке «Время вызова (текущее)» раздела «Сеансы» консоли администрирования кластера.5. По полю «Нет» в колонке «Спящий» раздела «Сеансы» консоли администрирования кластера.

Заблокировано СУБД — идентификатор процесса, который заблокировал данный процесс.
Последняя активность — время, в которое была зафиксирована последняя активность сеанса.
Соединение — номер соединения, которое подключено к данному сеансу.
Время вызова (текущее) — текущее время исполнения последнего незавершенного серверного вызова.
Спящий — если сеанс не проявляет активности, то он переводится в спящий режим.
Источники:
ИТС: Работа со списком сеансов

Вопрос 2.26
Какие процессы могут выполнять запросы, в т.ч. запросы к внешним источникам данных?

1. Процесс ragent.2. Процесс rphost.3. Процесс rmngr.4. Процессы ragent, rphost и rmngr.5. Процессы ragent и rphost.6. Процессы rmngr и rphost .

Сервис работы с внешними источниками данных расположен в rmngr и решает задачу взаимодействия и интеграции с источниками OLAP. Запросы к конкретной информационной базе в клиент-серверном режиме работы выполняются процессами rphost. Таким образом, правильный ответ включает в себя как процессы rphost, так и процесс rmngr с соответствующим сервисом, что указано на ИТС:

ИТС. Инструкции по разработке на 1С 1С:Предприятие 8.3.12. Документация Клиент-серверный вариант. Руководство администратора Глава 2. Клиент-серверный вариант работы:

"Рабочая часть рабочего сервера включает в себя менеджер кластера (rmngr) и рабочий процесс (rphost). Менеджер кластера обеспечивает функционирование рабочего сервера и взаимодействие с другими рабочими серверами, входящими в состав кластера. Рабочий процесс непосредственно обслуживает клиентские приложения, взаимодействует с сервером баз данных, исполняет код, который в прикладном решении отмечен как выполняемый на сервере"

Там же далее: "2.1.3. Сервисы кластера
Вся функциональность менеджера кластера серверов [rmngr - прим. ред.] разделена на несколько независимых сервисов. Каждый сервис обладает некоторыми характеристиками. Далее приведен список сервисов, с кратким описанием и указанием состава характеристик:
...
[Сервис - прим. ред.] работы с внешними источниками данных через ODBC - Обеспечивает взаимодействие с внешними базами данных с помощью интерфейса ODBC.
...
Сервис работы с внешними источниками данных через XMLA - Обеспечивает взаимодействие с источниками OLAP с помощью интерфейса XMLA."

Также см. ИТС. Инструкции по разработке на 1С 1С:Предприятие 8.3.13. Документация Руководство разработчика Глава 23. Внешние источники данных
"23.7. Особенности использования внешних источников данных
23.7.1. Место исполнения запросов к внешним источникам данных
Исполнение запросов к внешним источникам данных выполняется:
● в файловом варианте ‑ на компьютере с клиентским приложением;
● в файловом варианте с доступом через веб-сервер ‑ на компьютере, где выполняется расширение веб-сервера;
● в клиент-серверном варианте ‑ на компьютере, где выполняется:
● сервис работы с внешними источниками данных через ODBC ‑ для доступа к реляционными источникам данных;
● сервис работы с внешними источниками данных через XMLA ‑ для доступа к аналитическим источникам данных (OLAP-системы)."

Вопрос 2.27
Если в параметрах рабочего сервера 8.3 указан максимальный объем памяти рабочих процессов, не равный 0, что произойдет при достижении этого параметра?

1. Будет запущен еще один рабочий процесс.2. Пользователя будет выдана ошибка «Недостаточно свободной памяти на сервере 1С».3. Рабочий процесс будет перезапущен.

Максимальный объем памяти рабочих процессов — максимальный объем памяти (в байтах), доступный всем рабочим процессам кластера на данном рабочем сервере.Может принимать значение от -1 до 9 223 372 036 854 775 807:
  • -1 – не ограничен максимальный объем памяти, доступный рабочим процессам кластера на данном рабочем сервере;
  • 0 – значение определяется автоматически как 80% объема оперативной памяти сервера.
Каждый рабочий процесс кластера определяет объем памяти, занимаемой всеми рабочими процессами кластера на этом рабочем сервере (назовем это значение ПамятьПроцесса). Это значение обновляется 1 раз в 2 секунды. При начале вызова сервера фиксируется текущее значение ПамятьПроцесса на момент начала вызова (назовем это значение ПамятьПроцессаТекущая). В процессе выполнения вызова вычисляется объем памяти, израсходованной при выполнении этого вызова (назовем это значение ПамятьЗаВызов).Если в результате выделения памяти в одном вызове сервера значение Максимальный объем памяти рабочих процессов превышено менее чем на значение Безопасный расход памяти за один вызов, то такой вызов не прерывается. Если в течение вызова значение ПамятьЗаВызов превысило значение Безопасный расход памяти за один вызов, и значение ПамятьПроцессаТекущая+ПамятьЗаВызов превысило значение Максимальный объем памяти рабочих процессов, то вызов прерывается исключением и завершается аварийно. При этом в технологический журнал выводится событие EXCP, содержащее:
  • Текст исключения;
  • Контекст исключения.
Источники:
ИТС: Работа со списком рабочих серверов кластера

Вопрос 2.28
Если в параметрах кластера 8.3 указан допустимый объем памяти рабочих процессов, не равный 0, что произойдет при достижении этого параметра?

1. Будет запущен еще один рабочий процесс.2. Пользователям будет выдана ошибка «Недостаточно свободной памяти на сервере 1С»3. Рабочий процесс будет перезапущен.

Допустимый объем памяти — устанавливает предельный объем виртуального адресного пространства, после постоянного превышения которого в течение определенного времени (см. следующий параметр) рабочий процесс будет автоматически перезапущен. Нулевое значение означает, что критический объем памяти не задан и автоматический перезапуск рабочих процессов не выполняется.Источники:
ИТС: Работа со списком кластеров

Вопрос 2.29
Если на 32-х разрядном сервере версии 8.3 запущено 10 фоновых заданий (пользователи в это время не работают), и часть из них получает сообщение об ошибке «Недостаточно свободной памяти на сервере 1С», как можно решить эту проблему? Памяти на сервере достаточно.

1. В параметрах рабочего сервера 8.3 указать максимальный объем памяти рабочих процессов, не равный 0.2. Оптимизировать код конкретного фонового задания, получающего ошибку.3. В параметрах кластера 8.3 указать допустимый объем памяти рабочих процессов, не равный 0.4. Прописать нужное количество рабочих процессов вручную.

Напрашивается ответ 1, но в учебном тестировании правильный ответ 2.

Вопрос 2.30
Если на 32-разрядном рабочем сервере версии 8.2 к одной и той же базе запущено 10 фоновых заданий (пользователи в это время не работают), и часть из этих заданий получают сообщение об ошибке «Недостаточно свободной памяти на сервере 1С» (при этом физической памяти на сервере достаточно). Как можно решить эту проблему?

1. В параметрах рабочего сервера 8.2 указать максимальный объем памяти рабочих процессов, не равный 0.2. В параметрах рабочего сервера уменьшить количество соединений на процесс.3. В параметрах кластера 8.2 указать допустимый объем памяти рабочих процессов, не равный 0.4. Прописать нужное количество рабочих процессов вручную.

В 8.2 нет автоматической балансировки, поэтому рабочие процессы необходимо прописывать вручную.

Вопрос 2.31
Возможно ли настроить кластер серверов таким образом, чтобы в нем одновременно работали 32-разрядные (на одном рабочем сервере) и 64-разрядные (на другом рабочем сервере) процессы кластера серверов?

1. Возможно, но только с КОРП лицензией.2. Нельзя3. Возможно, но только на платформе Linux4. Возможно

Информации не нашел. Попробовал запустить на виртуальных машинах, получилось.

Вопрос 2.32
На сервере установлена 32-разрядная версия сервера 1С:Предприятия. На этом сервере 72 ГБ оперативной памяти. Сколько рабочих процессов будет запущено при настройках кластера «По умолчанию»?

1. 362. 243. По 1 рабочему процессу rphost на 128 сеансов или 8 информационных баз4. По 1 рабочему процессу rphost на 128 соединений или 8 информационных баз5. Для начала — в соответствии с п.3, далее — скорректировать исходя из фактического потребления памяти рабочими процессами.6. Верны ответы 1 и 2.

По умолчанию в свойствах рабочего сервера установлены следующие параметры:
  • Количество ИБ на процесс — 8
  • Количество соединений на процесс — 128
Источники:
ИТС: Работа со списком рабочих серверов кластера

Вопрос 2.33
На сервере установлено 128 ГБ оперативной памяти, используется Windows Server 2008 R2 Standard x64. Какой размер памяти может использовать данные серверное ПО?

1. 32 ГБ2. 64 ГБ3. 128 ГБ4. 4ГБ

Windows Server 2008 R2 Standard x64 — 32 GBИсточники:
MSDN: Memory Limits for Windows and Windows Server Releases

Вопрос 2.34
Как назначить фоновые задания на определенный рабочий сервер?

1. При создании фонового задания можно в коллекции параметров указать, на каком рабочем сервере предпочтительно запускаться2. Установить флаг «Выполнять фоновые задания» в свойствах рабочего сервера3. Настроить планировщик заданий в консоли адмнистрирования4. Указать требование назначение функциональности для выбранного рабочего сервера



3. Вопросы эксплуатации серверов СУБД

Вопрос 3.1
Какой счетчик (или счетчики) Performance Monitor позволяют точно оценить, достаточно ли процессорных мощностей на конкретном сервере?

1. \Processor(_Total)% Processor Time2. \Processor(_Total)% Processor Time и \System(_Total)\Processor Queue Length3. \Processor(_Total)\% IdleTime и \Processor(_Total)\% User Time4. \System\Processes и \Sytem\Context Swithes/sec5. \System\Threads и \Processor(_Total)% Processor Time, \System(_Total)\Processor Queue Length

С помощью Performance monitor в простых случаях достаточно контролировать следующие параметры:

3. Processor [_Total] (Процессор [_Total]) – % Processor Time (% загрузки процессора) – рекомендованный максимум – не более 70 % в течение длительного времени.
4. System (Система) – Processor Queue Length (Очередь к процессорам) – рекомендованный максимум – не более 2 * количество ядер процессоров в течение длительного времени.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.123

Вопрос 3.2
По какому параметру Windows Performance Monitor можно определить, достаточна ли производительность дисковой подсистемы? СХД не используется.

1. Avg. Disk Queue Length2. Avg. Disc Sec / Read3. Avg. Disc Sec / Write4. Текущая длина очереди диска5. Для определения достаточности производительности дисковой подсистемы необходимо использовать утилиту MS SQLIO

С помощью Performance monitor в простых случаях достаточно контролировать следующие параметры:

5. Physical Disk (Физический диск) – Avg. Disk Queue Length (Средняя длина очереди к дискам) – обязательно для системных дисков отдельно, для диска с базой отдельно, для диска с журналом транзакций (если такой есть) отдельно. Рекомендованный максимум – не более 2 * количество дисков, работающих параллельно (при этом всегда надо иметь в виду, что RAID0, обеспечивающий параллельность работы дисков, на дисках с базой собирают крайне редко). На практике этот счетчик достаточно сложно применять при оценке загруженности дискового хранилища. По этой причине этот счетчик может быть заменен на \PhysicalDisk(_Total)\Avg. Disk Sec/Read и \PhysicalDisk(_Total)\ Avg. Disk Sec/Write. При работе с дисковым кешем нормальное время на чтение или запись обычно составляет менее 10 мс. В случае работы с дисками время на чтение или запись не должно превышать 50–200 мс. Если вы видите, что есть периоды, в которые среднее время значительно возрастает и превышает 200 мс, то это серьезный повод задуматься о производительности дискового хранилища, с которым вы работаете.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.123

Вопрос 3.3
В каком случае дисковая подсистема обладает неудовлетворительной производительностью?

1. Средняя длина очереди диска к массиву из 3х параллельно работающих дисков = 82. Средняя длина очереди диска к массиву из 3х параллельно работающих дисков = 43. Средняя длина очереди диска к СХД из 5ти параллельно работающих дисков = 84. Верны ответы 1 и 35. Верны все ответы

«Рекомендованный максимум – не более 2 * количество дисков, работающих параллельно.» (с)В первом варианте рекомендуемый максимум равен 6 (рассчитывается как количество дисков 3 * очередь на каждый диск 2 ), а очередь 8. Следовательно система работает неудовлетворительно.Во втором варианте максимум тот же — 6, но очередь равна 4. Система работает стабильно.В третьем варианте ответа максимум уже 10, а очередь 8. Соответственно,  нагрузки нет.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.123

Вопрос 3.4
Получены достоверные данные о том, что в системе на сервере СУБД имеется небольшая нехватка оперативной памяти. В то же время, в системе наблюдаются регулярные периоды высокой нагрузки на процессор сервера СУБД (95-100% на период 5-15 минут), в течение которых пользователи ощущают замедление работы. Решено попробовать увеличить объем оперативной памяти. Попутно в это же окно запланированы работы по смене релиза 1С и внесению незначительных доработок функционала. К чему это приведет?

1. Ситуация с нагрузкой на процессор сервера СУБД ухудшится.2. Ситуация с нагрузкой на процессор сервера СУБД улучшится.3. На ситуацию с нагрузкой на процессор сервера СУБД это никак не повлияет.4. Ситуация с нагрузкой на процессор сервера СУБД должна бы ухудшиться, но явно доказать, что именно на это повлияло, не удастся.5. Точно не известно. Информации не достаточно.

Неясно отчего возникает замедление работы пользователей. Это может быть как от нехватки оперативной памяти (что вряд ли, т.к. нехватка небольшая), или от нагрузки на процессор сервера СУБД, а может из-за блокировок и пр. Поэтому достоверного ответа дать нельзя.

Вопрос 3.5
Используется сервер СУБД MS SQL Server. База tempdb и рабочая база данных расположены на одном логическом диске. Требуется определить, какая часть нагрузки создается именно запросами к tempdb. С помощью каких механизмов это сделать?

1. С помощью динамического представления sys.dm_io_virtual_file_stats2. С помощью динамического представления sys.dm_exec_query_stats3. С помощью динамического представления sys.dm_db_file_space_usage4. С помощью счетчиков Performance Monitor5. С помощью утилиты sqlio6. С помощью MS SQL Profiler и классов событий TSQL/SQL:BatchCompleted и Stored Procedures/RPC:Completed

sys.dm_io_virtual_file_stats — возвращает статистику ввода-вывода для данных и файлов журнала. В таблице выводится информация в разрезе баз данных: количество считываний файла; число байт, считанных из файла; число записей, сделанных в файл и пр.sys.dm_exec_query_stats — возвращает суммарную статистику производительности для кэшированных планов запросов в SQL Server.Представление содержит по одной строке для каждой инструкции запроса в плане в кэше, а время жизни строк связано с самим планом.Когда план удаляется из кэша, соответствующие строки исключаются из представления. Не показывает статистику в разрезе баз.sys.dm_db_file_space_usage — возвращает сведения о пространстве, выделенном для каждого файла базы данных. По этой информации нагрузку не вычислишь.SQLIO — является инструментом эталонного тестирования производительности операций ввода — вывода дисковой подсистемы для SQL Server.SQL:BatchCompleted — указывает на завершение выполнения пакета Transact-SQL. База данных здесь та, которая использовалась в инструкции USE или база по умолчанию. Для временных таблиц не пригодно.RPC:Completed — указывает, что удаленный вызов процедуры (RPC) завершен.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.133
MSDN: sys.dm_io_virtual_file_stats (Transact-SQL)
MSDN: sys.dm_exec_query_stats (Transact-SQL)
MSDN: sys.dm_db_file_space_usage (Transact-SQL)

Вопрос 3.6
Укажите правильную последовательность действий, чтобы перенести базу Tempdb.

1.
1. Создать каталог, в котором хотим ее видеть (например C:\TEMPDB).

2. Войти в Management Studio, выполнить запрос, убедиться, что он успешно отработал:
USE master
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = ‘C:\TEMPDB\tempdb.mdf’)
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = ‘C:\TEMPDB\templog.ldf’)
GO
3.Перезапустить SQL Server
4. Убедиться, что в новом каталоге появились нужные файлы, и удалить файлы, оставшиеся от Tempdb из прежнего каталога.
2.
1. Создать бэкап.
2. Убедиться, что с базой никто не работает.
3. В Management Studio, вызвать правой кнопкой мыши контекстное меню на имени tempdb, выбрать Задачи (Tasks) — Отосоединить (Detach), нажать ОК.
3.
1. Переместить файлы tempdb.mdf и tempdb.ldf в нужный каталог
2. В Management Studio, вызвать правой кнопкой мыши контекстное меню на узле базы данных (Databases), выбрать Присоединить (Attach) — в поле «Базы данных для присоединения» (Databases to attach) добавить новый путь, убедиться, что база и сведения соответствую переносимой, и далее нажать ОК.
4.
1. Переместить файл tempdb.ldf в нужный каталог.
2. В Management Studio, вызвать правой кнопкой мыши контекстное меню на узле базы данных (Databases), выбрать Присоединить (Attach)
2.1. в поле «Базы данных для присоединения» (Databases to attach) добавить новый путь, убедиться, что база и сведения соответствуют переносимой.
2.2. в поле «Сведения о базе данных» (Database details) изменить путь к файлу tempdb.ldf на новый.
2.3. Нажать ОК
5. 2, затем 3. 6. 2, затем 4. В процессе работы 1С:Предприятия 8 возможно значительное увеличение размера базы данных TEMPDB. Если размер диска, на котором расположена база данных TEMPDB, окажется недостаточным, работа 1С:Предприятия 8 может завершиться аварийно.Если эта проблема проявляется регулярно, то рекомендуется переместить TEMPDB на другой диск большего размера.
Эту операцию можно выполнить следующим способом:
1. определить логические имена файлов базы данных TEMPDB (колонка «NAME» результата выполнения процедуры). Для этого нужно в Query Analyzer выполнить следующую команду:
USE tempdb
GO
EXEC sp_helpfile
GO
2. изменить месторасположение файлов базы данных TEMPDB с помощью команды ALTER DATABASE. Для этого нужно в Query Analyzer выполнить следующую последовательность команд:
USE master
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = ‘Новый_Диск:\Новый_Каталог\tempdb.mdf’)
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = ‘Новый_Диск:\Новый_Каталог\templog.ldf’)
GO
3. Перезапустить  Microsoft SQL Server.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.110
ИТС: Перемещение базы данных TEMPDB
MSDN: Перемещение системных баз данных

Вопрос 3.7
Где хранятся временные таблицы SQL Server?

1. В оперативной памяти. Таблицы нигде не хранятся, но формируются в процессе выполнения запроса.2. В информационной базе 1С:Предприятия3. В master4. В tempdb.5. Во временном хранилище

Системная база данных tempdb — это глобальный ресурс, доступный всем пользователям, подключенным к данному экземпляру SQL Server, в котором хранятся следующие объекты:
  • временные объекты, созданные явно, такие как глобальные или локальные временные таблицы, временные хранимые процедуры, табличные переменные и курсоры;
  • внутренние объекты, создаваемые Компонент SQL Server Database Engine, например рабочие таблицы, хранящие промежуточные результаты буферов или сортировки;
  • версии строк, сформированные транзакциями изменения данных в базе данных, в которой используются транзакции изоляции моментальных снимков с зафиксированным чтением и транзакции изоляции моментальных снимков;
  • версии строк, сформированные транзакциями изменения данных для таких функциональных возможностей, как Операции с индексами в сети, множественные активные результирующие наборы (режим MARS) и триггеры AFTER.
Источники:
MSDN: База данных tempdb
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.108

Вопрос 3.8
Укажите правильную последовательность действий, чтобы перенести в другой каталог (диск) произвольную пользовательскую (не служебную) базу с именем Имя_Базы.

1.
1. Создать каталог, в котором хотим ее видеть (например C:\Имя_Базы).
2. Войти в Management Studio, выполнить запрос, убедиться, что он успешно отработал:
USE master
GO
ALTER DATABASE Имя_Базы
MODIFY FILE (NAME = basedev, FILENAME = ‘C:\TEMPDB\Имя_Базы.mdf’)
GO
ALTER DATABASE Имя_Базы
MODIFY FILE (NAME = baselog, FILENAME = ‘C:\TEMPDB\Имя_Базы.ldf’)
GO
3. Перезапустить SQL Server
4. Убедиться, что в новом каталоге появились нужные файлы, и удалить файлы, оставшиеся от базы из прежнего каталога.
2.
1. Создать бэкап.
2. Убедиться, что с базой никто не работает.
3. В Management Studio, вызвать правой кнопкой мыши контекстное меню на имени базы, выбрать Задачи (Tasks) — Отосоединить (Detach), нажать ОК.
3.
1. Переместить файлы Имя_Базы.mdf и Имя_Базы.ldf в нужный каталог
2. В Management Studio, вызвать правой кнопкой мыши контекстное меню на узле Базы данных (Databases), выбрать Присоединить (Attach) — в поле «Базы данных для присоединения» (Databases to attach) добавить новый путь, убедиться, что база и сведения соответствую переносимой, и далее нажать ОК.
4.
1. Переместить файл Имя_Базы.ldf в нужный каталог.
2. В Management Studio, вызвать правой кнопкой мыши контекстное меню на узле базы данных (Databases), выбрать Присоединить (Attach)
2.1. в поле «Базы данных для присоединения» (Databases to attach) добавить новый путь, убедиться, что база и сведения соответствуют переносимой.
2.2. в поле «Сведения о базе данных» (Database details) изменить путь к файлу Имя_Базы.ldf на новый.
2.3. Нажать ОК
5. 2, затем 3. 6. 2, затем 4.  Чтобы перенести любую пользовательскую (не служебную) базу, нужно сделать следующее:
1. Создать бэкап.
2. Убедиться, что с базой никто не работает.
3. В Management Studio вызвать правой кнопкой мыши контекстное меню на имени нужной базы, выбрать Задачи (Tasks) – Отсоединить (Detach) и далее нажать ОК.
4. Переместить файлы базы и журнала транзакций в нужный каталог.
5. В Management Studio вызвать правой кнопкой мыши контекстное меню на узле базы данных (Databases), выбрать Присоединить (Attach), в поле Базы данных для присоединения (Databases to attach) добавить новый путь, убедиться, что база и сведения соответствуют переносимой, и далее нажать ОК.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.111

Вопрос 3.9
Что такое tempdb для SQL Server и где она располагается?

1. Tempdb это служебная база SQL Server. Ее расположение при установке по умолчанию: файлы tempdb.mdf и tempdb.ldf в каталоге баз SQL Server.2. Tempdb это службеная база SQL Server. Ее расположение при установке по умолчанию: файл tempdb.dbf каталоге баз SQL Server.3. Tempdb это область оперативной памяти, куда кэшируются запросы и их результаты.

Физические свойства базы данных tempdb
Следующая таблица описывает исходную конфигурацию данных и файлов журналов базы данных. Размеры этих файлов могут немного изменяться в зависимости от выпуска SQL Server.
Файл Логическое имя Физическое имя Увеличение размера файлов
Первичные данные tempdev tempdb.mdf Автоувеличение на 10 % до заполнения диска.
Журнал templog templog.ldf Автоувеличение на 10 % до максимального размера в 2 ТБ.
Источники:
MSDN: База данных tempdb
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.108

Вопрос 3.10
Укажите правильную последовательность действий, чтобы перенести в другой каталог (диск) только файл журнала транзакций пользовательской (не служебной) базы  с именем Имя_Базы.

1.1. Создать каталог, в котором хотим ее видеть (например C:\Имя_Базы).
2. Войти в Management Studio, выполнить запрос, убедиться, что он успешно отработал:
USE master
GO
ALTER DATABASE Имя_Базы
MODIFY FILE (NAME = baselog, FILENAME = ‘C:\TEMPDB\Имя_Базы.ldf’)
GO
3. Перезапустить SQL Server
4. Убедиться, что в новом каталоге появились нужные файлы, удалить файлы, оставшиеся от базы из прежнего каталога.
2.1. Создать бэкап.
2. Убедиться, что с базой никто не работает.
3. В Management Studio, вызвать правой кнопкой мыши контекстное меню на имени базы, выбрать Задачи (Tasks) — Отсоединить (Detach), нажать ОК.
3.1. Переместить файлы Имя_Базы.mdf и Имя_Базы.ldf в нужный каталог.
2. В Management Studio, вызывать Присоединить (Attach) — в поле «Базы дынных для присоединения» (Databases to attach) добавить новый путь, убедиться, что база и сведения соответствуют переносимой, и далее нажать ОК.
4.1. Переместить файл Имя_Базы.ldf в нужный каталог.
2. В Management Studio, вызывать правой кнопкной мыши контекстное меню на узле Базы данных (Databases), выбрать Присоединить (Attach)
2.1. в поле «Базы данных для присоединения» (Databases to attach) добавить новый путь, убедиться, что база и сведения соответствуют переносимой.
2.2. в поле «Сведения о базе данных» (Database details) изменить путь к файлу Имя_Базы.ldf на новый.
2.3. Нажать ОК.
5. 2, затем 3. 6. 2, затем 4. Чтобы перенести только файл журнала транзакций, нужно сделать следующее:
1. Создать бэкап.
2. Убедиться, что с базой никто не работает.
3. В Management Studio вызвать правой кнопкой мыши контекстное меню на имени нужной базы, выбрать Задачи (Tasks) – Отсоединить (Detach) и далее нажать ОК.
4. Переместить файл журнала транзакций в нужный каталог.
5. В Management Studio вызвать правой кнопкой мыши контекстное меню на узле базы данных (Databases), выбрать Присоединить (Attach).
5.1. В поле Базы данных для присоединения (Databases to attach) добавить новый путь, убедиться, что база и сведения соответствуют переносимой.
5.2. В поле Сведения о базе данных (Database details) изменить путь к файлу журнала транзакций на новый.
5.3. Нажать ОК.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.108

Вопрос 3.11
Какие модели восстановления базы поддерживает MS SQL Server?

1. Полную (FULL). с неполным протоколированием (BULK_LOGGED), простую (SIMPLE). Оснований для использования модели с дополнительным протоколированием (BULK_LOGGED) в информационных системах на платформе 1С почти нет.2. Полную (FULL). простую (SIMPLE).3. Полную (FULL). разностную (DIFFERENTIAL), журнала транзакций (LOG).

Модель восстановления — это свойство базы данных, которое управляет процессом регистрации транзакций, определяет, требуется ли для журнала транзакций резервное копирование, а также определяет, какие типы операций восстановления доступны. Есть три модели восстановления: простая модель восстановления, модель полного восстановления и модель восстановления с неполным протоколированием.Источники:
MSDN: Модели восстановления (SQL Server)

Вопрос 3.12
Если вы не намерены использовать резервные копии журнала SQL Server, и вам не нужна возможность восстановления состояния базы данных на точно определенный момент времени (например, тестовые, технологические, архивные базы, ЦУП, ЦКК):

1. Следует использовать простую модель восстановления.2. Следует использовать полную модель восстановления.3. Следует использовать модель восстановления с неполным протоколированием.

Если вы не намерены использовать резервные копии журнала и вам не нужна возможность восстановления состояния базы данных на точно определенный момент времени, не следует использовать модель восстановления FULL.На практике это в первую очередь относится к тестовым базам, а также (внимание!) к ЦУП. Это так, поскольку места под журналы транзакций там может требоваться очень много, но крайне малореальна ситуация, что кто-то станет пытаться восстанавливать базу ЦУП по журналу транзакций на момент середины анализа. Достаточно полных копий (или dt) на момент начала анализа (для ЦУП) или начала теста (для тестовых баз).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.112

Вопрос 3.13
Что представляет собой восстановление базы на любой момент времени средствами SQL Server?

1. База может быть восстановлена как на последнее доступное состояние по цепочке копий, так и на любой момент времени внутри нее, для этого нужно в поле «К моменту времени» (To a point in time) указать нужное время, после него восстановление записей журнала транзакций остановится.2. База может быть восстановлена как на последнее доступное состояние по цепочке копий, так и на строго определенные моменты времени внутри нее, соответствующие разностным копиям и концу последней копии журнала транзакций.3. База может быть восстановлена как на последнее доступное состояние по цепочке копий, так и на строго определенные моменты времени внутри нее, соответствующие разностным копиям и концу последней копии журнала транзакций, а затем непосредственно по журналу транзакций доведена до состояния перед сбоем.

Применительно к продуктивным системам использование разностных копий также позволяет экономить время на проведение копирования и уменьшать износ резервных носителей.Восстановить базу при полной модели восстановления можно аналогично простой модели на строго фиксированные точки с помощью полной копии или полной копии и одной разностной копии.Но также можно это сделать, если к полной копии или полной копии и одной разностной копии добавить цепочку копий журналов транзакций с момента последней полной или разностной копии.При таком способе база может быть восстановлена как на последнее доступное состояние по этой цепочке, так и на любой момент времени внутри нее. Для этого нужно в поле К моменту времени (To a point in time) указать нужное время. После него восстановление записей журнала транзакций остановится.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.120

Вопрос 3.14
При использовании полной модели восстановления базы в SQL Server операция резервного копирования журнала транзакций:

1. нужна, только если вам нужна возможность восстановления на любой момент времени.2. является обязательной для регулярного выполнения, даже если вы не собираетесь делать резервные копии средствами SQL Server (без этого журнал транзакций будет расти, пока не займет весь диск).3. является обязательной, но если делается полная резервная копия, она выполняется неявно, и в этом случае нет необходимости планировать ее отдельно.4. не является обязательной.5. невозможна.

При использовании полной модели восстановления операция резервного копирования журнала транзакций является обязательной для регулярного выполнения, даже если вы не собираетесь делать резервные копии средствами SQL Server (без этого журнал транзакций будет расти, пока не займет весь диск).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.122

Вопрос 3.15
При использовании простой модели восстановления базы в SQL Server операция резервного копирования журнала транзакций:

1. нужна, только если вам нужна возможность восстановления на любой момент времени.2. является обязательной для регулярного выполнения, даже если вы не собираетесь делать резервные копии средствами SQL Server (без этого журнал транзакций будет расти, пока не займет весь диск).3. является обязательной, но если делается полная резервная копия, она выполняется неявно, и в этом случае нет необходимости планировать ее отдельно.4. не является обязательной5. невозможна.

SQL Server позволяет делать резервные копии трех видов:
  • полную (full)
  • разностную (differential). Грубо говоря, в разностной копии хранится разница между текущим состоянием базы и ее состоянием на момент полной копии;
  • копию журнала транзакций (не используется и не поддерживается для базы при простой модели восстановления).
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.118

Вопрос 3.16
Можно ли в SQL Server в любой момент переключить модель восстановления базы данных с полной на простую и обратно?

1. Нет, это задается при создании базы исходя из настроек SQL Server, и в дальнейшем не меняется.2. Можно в любой момент в любую сторону простым переключением. При этом надо придерживаться простых правил, не требующих перезапуска сервера.3. Можно один раз с простой на полную, обратно — нет.4. Можно один раз с полной на простую, обратно — нет.5. Можно в любой момент в любую сторону простым переключением. Но изменения вступят в силу после перезапуска сервера.

Модель восстановления базы данных можно в любой момент переключить с полной на простую и обратно. При этом надо придерживаться простых правил:1. Перед переключением с модели полного восстановления создать резервную копию журнала транзакций.2. После переключения с простой модели восстановления:
  • сразу же после переключения на модель полного восстановления создать полную или разностную резервную копию базы данных, чтобы начать цепочку журналов. Переключение на модель полного восстановления вступает в силу только после создания первой резервной копии данных;
  • создать в планах обслуживания регулярное резервное копирование журнала. Если резервные копии журнала создаются недостаточно часто, журнал транзакций может разрастаться до тех пор, пока не переполнит диск.
3. После переключения на простую модель восстановления:
  • отменить все запланированные задания резервного копирования журнала транзакций;
  • убедиться, что запланировано периодическое резервное копирование базы данных. Резервное копирование базы данных очень важно как для защиты данных, так и для усечения (truncation) неактивной части журнала транзакций.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.113

Вопрос 3.17
Что надо сделать для успешного сжатия журнала транзакций? Используется SQL Server, модель восстановления FULL.

1. Резервную копию журнала транзакций.2. Полную резервную копию.3. Разностную резервную копию.4. Верный ответы 1 и 2.5. Верны ответы 1,2 и 3.

Для общего понимания, как работает журнал транзакций, надо представлять, что в действительности до тех пор, пока записи в его начале получается обрезать (или очищать), он является кольцевым файлом. Если это получается, то, когда процедура ведения журнала достигает конца журнала транзакций, она снова поворачивает в начало и начинает писать поверх того, что было там ранее. Запись перестает быть нужной, если для нее истинно все из нижеперечисленного:
  • транзакция, к которой относится эта запись, зафиксирована;
  • все измененные ею страницы базы записаны на диск;
  • запись лога не нужна для бэкапа (полного, разностного или бэкапа журнала);
  • запись лога не нужна компонентам, читающим журнал (таким как зеркалирование или репликация).
Третий пункт списка выше очень важен для понимания следующего:
  • в полной модели записи журнала транзакций хранятся до тех пор, пока они нужны для бэкапа. Чтобы снять необходимость их хранения, нужно сделать бэкап журнала транзакций
  • в простой модели хранится только то, что нужно для текущей жизни, а не для бэкапа.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.112

Вопрос 3.18
Восстановить базу при простой модели восстановления можно:

1. на строго фиксированные точки с помощью полной копии.2. на строго фиксированные точки с помощью полной копии и одной разностной копии из числа ее «наследниц», являющейся последней перед требуемой точкой восстановления.3. на строго фиксированные точки с помощью полной копии и копии журнала транзакций.4. на строго фиксированные точки с помощью полной копии и (обязательно) полной последовательности разностных копий — ее «наследниц», от момента полной копии до точки восстановления.5. верны ответы 1 и 2.6. верны ответы 1, 2, 3, 4, если п.2 является частным случаем п.4.

Восстановить базу при простой модели восстановления можно на строго фиксированные точки с помощью:
  • полной копии;
  • полной копии и одной разностной копии из числа ее «наследниц», являющейся последней перед требуемой точкой восстановления.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.120

Вопрос 3.19
Какие системные требования к СУБД предъявляет ПО 1С?

1. Требований не предъявляется, ПО 1С должно работать с любым оборудованием на любом реальном системной программном обеспечении.2. Список указан на http://v8.1c.ru/requirements/.3. Список указан в каждой коробке, для каждого прикладного решения он может отличаться.

Требования предъявляются платформе, а не решениям. Список требований указан на сайте 1С.

Вопрос 3.20
Где можно узнать реальные параметры оборудования крупных внедрений?

1. В справочнике «Внедренные решения»2. Только в закрытом разделе технической поддержки партнеров.3. На сайте v8.1c.ru в разделе ЦКТП.

Список есть на сайте 1С.Источники:
1С: Оборудование на реальных внедрениях

Вопрос 3.21
В какое значение следует устанавливать настройку «Max degree of parallelism»?

1. Unlimited2. 03. 14. 64 для 64-х разрядной платформы.

При работе на многопроцессорном компьютере Microsoft SQL Server может попытаться распараллелить процесс выполнения запроса на несколько процессоров. Обычно это происходит в том случае, если план запроса неоптимален. При параллельном выполнении нескольких частей одного запроса на разных процессорах возможна взаимоблокировка.
Для решения проблемы необходимо установить значение параметра max degree of parallelism («Максимальная степень параллелизма») равным 1 ‑ SQL Management studio, свойства SQL server, закладка Дополнительно.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.65
ИТС: Использование опции «max degree of parallelism» в Microsoft SQL Server
MSDN: Настройка параметра конфигурации сервера max degree of parallelism

Вопрос 3.22
Где хранятся виртуальные таблицы?

1. В tempdb2. Во временном хранилище3. Таблицы нигде не хранятся, но формируются (вычисляются) в процессе выполнения запроса.4. В информационной базе5. В сеансовых данных

В качестве источников данных языка запросов выступают таблицы базы данных. Таблицы подразделяются на два основных класса: реальные и виртуальные.Реальные таблицы хранятся в базе данных, то есть интерпретируются из реально существующей таблицы базы данных. В случае использования реальной таблицы могут присутствовать вычисляемые поля, значения которых вычисляются как функция нескольких реальных полей.Виртуальные таблицы не хранятся в базе данных. При обращении к информации виртуальных таблиц система автоматически собирает информацию реальных таблиц базы данных для выполнения запроса. Виртуальная таблица может быть параметризована, то есть реальное наполнение виртуальной таблицы может определяться значениями параметров, фактические значения которых задаются в тексте запроса. Для каждой виртуальной таблицы определяется имя, которое используется в запросах для идентификации таблицы.
4. Обеспечение качества и инструменты обеспечения качества

Вопрос 4.1
Для фиксирования всех ошибок, которые являются невосстановимыми исключениями:

1. необходимо использовать серверный и клиентский технологические журналы.2. достаточно серверного журнала, т.к. в него попадают все ошибки.3. достаточно клиентского журнала, т.к. ошибки, отображаемые на клиенте, в него не попадают4. необходимо использовать Центр управления производительностью.

Вопрос 4.2
Как посчитать число таймаутов в СУБД за период?

1. По технологическому журналу посчитать число событий EXCP.2. По технологическому журналу посчитать число событий с текстом «Lock request time out period exceeded» и «Maximum idle time for lock access» (Текст может отличаться в зависимости от используемой СУБД, ее языка и версии).3. По технологическому журналу посчитать число событий с текстом «Lock request time out period exceeded» (Текст может отличаться в зависимости от используемой СУБД, ее языка и версии).4. По технологическому журналу посчитать число событий с текстом «Unresolved lock conflict in s session» и «Возникла мертвая блокировка во время ожидания ресурса» (Текст может отличаться в зависимости от версий и языков платформы 1С и СУБД).5. По Журналу регистрации, установив отбор на событие «ошибки блокировок».

Подстроки, идентифицирующие таймауты в сообщениях пользователя и технологическом журнале:
  • SQL Server: Lock request time out period exceeded — таймаут СУБД SQL Server (англ.)
  • SQL Server: Превышено время ожидания запроса на блокировку — таймаут СУБД SQL Server (рус.)
Maximum idle time for lock access (Превышено максимальное время ожидания) — это таймаут на управляемых блокировках, а не блокировках СУБД.Текст сообщения об ошибке зависит от того, был ли это конфликт управляемых блокировок или конфликт блокировок СУБД. Если конфликт произошел в СУБД, текст зависит от того, что это за СУБД, а также от ее версии и языка.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) на стр.58

Вопрос 4.3
Для подсчета количества таймаутов за день работы информационной системы следует использовать:

1. технологический журнал2. ЦУП3. консоль кластера 1С.4. MS SQL Profiler5. Windows Performance Monitor

Вопрос 4.4
Как посчитать число взаимоблокировок на управляемых блокировках 1С за период?

1. По технологическому журналу посчитать число событий EXCP.2. По технологическому журналу посчитать число событий с текстом «Lock request time out period exceeded» и «Maximum idle time for lock access» (Текст может отличаться в зависимости от версий и языков платформы 1С и СУБД).3. По технологическому журналу посчитать число событий с текстом «Unresolved lock conflict in a session» и «Неразрешимый конфликт блокировок».4. По Журналу регистрации, установив отбор на событие «ошибки блокировок».

Подстроки, идентифицирующие таймауты в сообщениях пользователя и технологическом журнале:
  • Неразрешимый конфликт блокировок — взаимоблокировка на управляемых блокировках (1С-рус.)
  • Unresolved lock conflict in a session — взаимоблокировка на управляемых блокировках (1С-англ.)
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) на стр.58

Вопрос 4.5
Можно ли отличить избыточные блокировки от неизбыточных с помощью ЦУП?

1. Можно. Для этого необходимо провести замеры с анализом ожиданий на блокировках.2. Можно. Для этого необходимо провести замеры с анализами ожиданий на блокировках и взаимоблокировках.3. Нельзя. Для анализа избыточности блокировок необходимо использовать SQL Server Profiler.4. Нельзя. Избыточность блокировки определяется не техническими средствами, а логикой системы.

Показатель ожидания на блокировка и взаимоблокировках не покажет избыточна ли блокировка или нет. Это можно узнать только проанализировав код приложения.Источники:
ИТС: Типичные причины избыточных блокировок и методы оптимизации

Вопрос 4.6
Что указывает показатель «Число взаимоблокировок СУБД» в ЦУП?

1. Количество взаимоблокировок во всех базах сервера СУБД, содержащего исследуемую базу данных.2. Количество взаимоблокировок во всех базах сервера 1С, содержащего исследуемую информационную базу.3. Количество взаимоблокировок в исследуемой информационной базе.

Вопрос 4.7
В результате расследования с помощью ЦУП получены следующие результаты: число взаимоблокировок СУБД за время анализа 250, результат анализа взаимоблокировок пустой. Что это означает?

1. В исследуемой базе произошло 250 взаимоблокировок, но ЦУП не смог их проанализировать.2. На сервере СУБД, где размещается исследуемая база, произошло 250 взаимоблокировок, но все в других рабочих базах.3. На сервере СУБД, где размещается исследуемая база, произошло 250 взаимоблокировок, но все в других базах, в т.ч. в служебных.4. На сервере СУБД, где размещается исследуемая база, произошло 250 взаимоблокировок во всех базах, в т.ч. и в исследуемой, но ЦУП не смог их проанализировать.5. На сервере СУБД, где размещается исследуемая база, произошло 250 взаимоблокировок во всех базах, возможно, что и в исследуемой, но ЦУП не смог их проанализировать.

Вопрос 4.8
Вычисление количества взаимоблокировок в исследуемой информационной базе за период с помощью мониторинга ЦУП:

1. возможно, если включить замер количества взаимоблокировок СУБД.2. возможно, только если это единственная рабочая база на сервере СУБД.3. невозможно.

Вопрос 4.9
Показатель производительности системы по методике APDEX рассчитывается по формуле (где N-общее число операции за период; Nt — операции, уложившиеся в целевое время T; N4t — операции, не уложившиеся в T, но уложившиеся в 4*T.):

1. APDEX = (Nt + N4t / 2) / N2. APDEX = (Nt + N4t) / N3. APDEX = (Nt + N4t / 2 * T) / N4. APDEX = (Nt + N4t) / 2N

Для вычисления APDEX, необходимо обработать данные по времени выполнения всех ключевых операций и получить следующие значения:
  • N – общее количество выполнений данной операции
  • NS – количество выполнений с временем отклика от 0 до Т
  • NT – количество выполнений с временем отклика от T до 4T
Значение APDEX вычисляется по формуле: APDEX = (NS + NT/2)/NИсточники:
ИТС: Оценка интегральной производительности системы по методике APDEX

Вопрос 4.10
Рассчитайте показатель APDEX если общее число операций за период — 16; операции, уложившееся в целевое время — 8; операции, не уложившиеся в целевое время, но уложившееся в 4 * целевое время — 8.

1. 0,752. 0,673. 2.67.4. 0.89.

Значение APDEX вычисляется по формуле: APDEX = (NS + NT/2)/N
  • N – общее количество выполнений данной операции
  • NS – количество выполнений с временем отклика от 0 до Т
  • NT – количество выполнений с временем отклика от T до 4T
N = 18;
NS = 8;
NT = 8;
(8 + 8/2) / 16 = 0,75Источники:
ИТС: Оценка интегральной производительности системы по методике APDEX

Вопрос 4.11
При подсчете значения показателя производительности APDEX его значение оказалось равным 2,5. Что можно сказать о производительности системы?

1. Отлично.2. Очень плохо.3. APDEX посчитан с ошибкой.4. Только по показателю Apdex = 2,5 сказать ничего нельзя. Требуется также получить оценку производительности от пользователей.

APDEX может принимать значения только от 0 до 1.Источники:
ИТС: Оценка интегральной производительности системы по методике APDEX

Вопрос 4.12
В процессе работы информационной системы происходят падения с образованием дампов. Какая пара дампов скорее всего вызвана одной и той же проблемой?

1. rphost_8.2.19.121_67dc3f2d_20141210092337_23324.mdmp
rephost_8.2.19.121_67dc3f2d_20141210124556_6789.mdmp
2. rphost_8.2.19.121_58dc3f2d_20141210092337_23324.mdmp
rephost_8.2.19.121_67dc3f2d_20141210124556_6789.mdmp
3. rphost_8.2.19.121_67dc3f2d_20141210092337_23324.mdmp
rephost_8.2.19.121_58dc3f2d_20141210092337_6789.mdmp
4. rphost_8.2.19.121_67dc3f2d_20141210092337_23324.mdmp
rephost_8.2.19.121_58dc3f2d_20141210124556_23324.mdmp
Дамп будет идентичным, если у него совпадает имя процесса, номер версии и офсет, то есть первые три группы значений в имени файла. Например, для дампа rphost_8.2.16.368_3201be4b_20121211163453_22484:
  • имя процесса: rphost,
  • версия: 8.2.16.368,
  • офсет: 3201be4b.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) на стр.160

Вопрос 4.13
В имени файла дампа «rphost_8.2.19.121_67dc3f2d_20141210092337_23324.mdmp», образующегося при падении процесса 1С, третья группа символов определяется:

1. указателем смещения вершины стека в 0x представлении, что интерпретируется как тип ошибки.2. временем создания дампа.3. временем окончания записи дампа.4. PID процесса.5. уникальным идентификатором базы.

Имя построено по шаблону: ИмяПроцесса_Релиз_АдресОшибки_ГГГГММДДЧЧММСС_PIDПроцесса.mdmp
Где ГГГГММДДЧЧММСС – это дата и время падения.

Вопрос 4.14
В имени файла дампа «rphost_8.2.19.121_67dc3f2d_20141210092337_23324.mdmp», образующегося при падении процесса 1С, группа _20141210092337_ символов определяется:

1. временем начала вызова, который привел к ошибке и аварийному завершению процесса.2. временем создания дампа.3. временем окончания записи дампа и журнала процесса.4. временем старта процесса5. временем начала сеанса, который привел к ошибке и аварийному завершению процесса

Имя построено по шаблону: ИмяПроцесса_Релиз_АдресОшибки_ГГГГММДДЧЧММСС_PIDПроцесса.mdmp
Где ГГГГММДДЧЧММСС – это дата и время падения.

Вопрос 4.15
В имени файла дампа «rphost_8.2.19.121_67dc3f2d_20141210092337_23324.mdmp», образующегося при падении процесса 1С, четвертая группа цифр определяется:

1. указателем смещения вершины стека в 0x представлении, что интерпретируется как тип ошибки. 2. временем создания дампа. 3. временем окончания записи дампа. 4. PID процесса. 5. уникальным идентификатором базы.

Имя построено по шаблону: ИмяПроцесса_Релиз_АдресОшибки_ГГГГММДДЧЧММСС_PIDПроцесса.mdmp
Где ГГГГММДДЧЧММСС – это дата и время падения.

Вопрос 4.16
Что входит в понятие технологического качества?

1. Доступность, стабильность, устойчивость, работоспособность, производительность, масштабируемость, отсутсвие ошибок блокировок, высокий показатель Apdex.2. Доступность, стабильность, устойчивость, работоспособность, масштабируемость, не ухудшение технологических показателей при внесении изменений в информационную базу, отсутствие ошибок блокировок.3. Доступность, стабильность, устойчивость, работоспособность, производительность, высокий показатель Apdex, отсутствие снижения технологических показателей при внесении изменений в информационную систему.4. Доступность, стабильность, устойчивость, работоспособность, производительность, масштабируемость, отсутствие снижения технологических показателей при внесении изменений в информационную систему.5. Вопросы, перечисленные во всех пунктах ответов.

Технологическое качество работы информационной системы — соответствие информационной системы бизнес-требованиям автоматизируемого предприятия, которое складывается из таких составляющих, как производительность системы, ее масштабируемость, устойчивость и т. п. Соответствие функциональных возможностей и удобства использования информационной системы требованиям пользователей к вопросам технологического качества не относится.Поэтому сюда можно отнести такие пункты, как «высокий показатель Apdex» и «отсутсвие ошибок блокировок».Источники:
ИТС: КИП. Базовые понятия

Вопрос 4.17
Как посчитать число ошибок блокировок в выбранной информационной базе за период?

1. Настроить технологический журнал по событиям EXCP.2. Используя инструмент Центр контроля качества.3. Используя инструмент Центр управления производительностью.4. Верны ответы 1 и 2.5. Верны ответы 2 и 3.6. Верны ответы 1, 2, 3.

Вопрос 4.18
Какие виды объектов контроля возможно настроить в Центре контроля качества?

1. Контроль производительности, анализ вызовов кластера, контроль подключений, контроль потребления памяти.2. Контроль производительности, анализ вызовов кластера, контроль подключений, контроль потребления памяти, ожидания на блокировках.3. Контроль производительности, анализ длительных запросов, контроль подключений, контроль потребления памяти.4. Оценка пользователей, контроль нагрузочных тестов, анализ взаимоблокировок, анализ ожиданий на блокировках.

ЦКК поддерживает следующие виды контрольных процедур:Кластер серверов «1С:Предприятия 8»:
  • контроль потребления памяти рабочими процессами кластера
Рабочий сервер «1С:Предприятия 8»:
  • анализ вызовов кластера серверов «1С:Предприятия 8»;
  • контроль устойчивости системы (просмотр и анализ дампов);
  • мониторинг системных ошибок
Информационная база «1С:Предприятия 8»:
  • контроль подключений к информационной базе;
  • контроль выполнения регламентных заданий;
  • контроль производительности информационной базы;
  • контроль нагрузочных тестов
Внешние ЦКК:
  • контроль работоспособности внешних ЦКК
Источники:
ИТС: Виды контрольных процедур

Вопрос 4.19
Если кластер серверов собран на нескольких серверах, сможет ли ЦУП анализировать данные технологического журнала со всех них?

1. Нет, он в принципе видит логи только с одного сервера.2. Да, все равно весь технологический журнал пишется на центральном сервере кластера.3. Да, каталоги настройки технологического журнала и места их хранений, в т.ч. сетевые, указываются в табличной части, т.е. их может быть несколько разных.

Вопрос 4.20
Каковы основные возможности ЦУП?

1. Анализ проблем производительности клиент-серверной системы, регламентный мониторинг производительности системы, создание и редактирование сценариев работы ЦУП, предоставление рекомендаций по исправлению ошибок блокировок.2. Мониторинг технологических показателей работающей клиент-серверной системы, анализ проблем производительности и параллельной работы клиент-серверной системы, регламентный мониторинг системы, создание и редактирование сценариев работы ЦУП.3. Мониторинг технологических показателей производительности работающей клиент-серверной системы, анализ проблем производительности клиент-серверной системы, регламентный мониторинг производительности системы, создание и редактирование сценариев работы ЦУП, анализ загрузки оборудования. предоставление рекомендаций по исправлению ошибок блокировок.4. Анализ проблем производительности клиент-серверной системы, регламентный мониторинг производительности системы, создание и редактирование сценариев работы ЦУП, оптимизация системы в автоматическом режиме.

Основные возможности ЦУП
  1. Мониторинг технологических показателей производительности работающей клиент-серверной системы:
  2. Анализ узких мест конфигурации:
  3. Регламентный мониторинг производительности системы:
  4. Создание и редактирование сценариев работы ЦУП:
Источники:
ИТС: Основные возможности ЦУП

Вопрос 4.21
Каковы основные возможности ТестЦентра?

1. Описание многопользовательских сценариев тестирования. Запуск сценариев и контроль хода их выполнения. Сбор и хранение результатов тестирования.2. Автоматическое создание тестовых обработок. Автоматический запуск сценариев и контроль хода их выполнения. Сбор, хранение и анализ результатов тестирования.3. Описание многопользовательских сценариев тестирования. Расследование проблем, обнаруженных в ходе теста. Сбор, хранение и анализ результатов тестирования.4. Описание многопользовательских сценариев тестирования. Автоматический запуск сценариев и контроль хода их выполнения. Генерация отчета по результатам цикла тестов.

Возможности Тест-центраТест-центр предоставляет следующие возможности:
  • описание произвольных многопользовательских сценариев нагрузочного тестирования информационных баз на платформе «1С:Предприятие 8»;
  • ручной и автоматический запуск сценариев тестирования, моделирующих параллельную работу множества пользователей;
  • контроль хода выполнения сценариев;
  • сбор, хранение и анализ результатов тестирования;
  • возможность управления тестированием из внешних программ посредством обращений к веб-сервису.
Источники:
ИТС: Возможности Тест-центра

Вопрос 4.22
В регистре сведений Замеры времени, входящем в подсистему Оценка производительности, запись замера происходит не сразу после завершения замера. Чем эта задержка регулируется?

1. Константой ОценкаПроизводительностиПериодЗаписи, если она не установлена, задержка автоматически устанавливается в 60 секунд.2. Расписанием регламентных заданий, если его нет, опрос идет 1 раз в 180 секунд.3. Расписанием опроса агентов тест-центра.

«При необходимости отрегулировать константу Оценка производительности период записи – это периодичность записи результатов замеров на сервере, в текущих релизах при установке значения 1 и меньше (в т. ч. 0 по умолчанию) выполняется раз в 60 секунд.»Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) на стр.152

Вопрос 4.23
В соглашение об уровне обслуживания (SLA), в соответствии с рекомендациями ITIL обычно включают:

1. Список предоставляемых услуг.2. Спецификации уровней качества сервиса.3. Периоды времени, в которые будут предоставляться услуги, с учетом времени на техническую поддержку и обслуживание.4. Описание процедуры решения инцидентов, включая время реакции на инциденты и процедуру эскалации на следующий уровень поддержки5. Верны варианты 1 и 26. Верны все варианты

Вопрос 4.24
Контрольная процедура «Мониторинг системных ошибок» в ЦКК предназначена для:

1. Мониторинга аварийных завершений рабочих процессов кластера2. Мониторинга аварийных завершений клиентских приложений3. Контроля ошибочных ситуаций, с возможностью последующей группировки по контекстам исключений4. Сборка статистики по ошибкам блокировок5. Верны варианты 3 и 46. Верны все варианты

Вопрос 4.25
Контрольная процедура «Контроль устойчивости системы» в ЦКК предназначена для:

1. Мониторинга аварийных завершений рабочих процессов кластера.2. Мониторинга аварийных завершений клиентских приложений 1С3. Контроля ошибочных ситуаций, с возможностью последующей группировки по контекстам исключений4. Сбора статистики по ошибкам блокировок

Вопрос 4.26
Контрольная процедура «Контроль подключений» в ЦКК предназначена для:

1. Сбора статистики о числе подключенных пользователей и используемых лицензий2. Мониторинга попыток получения неправомерного доступа к информационных баз, зарегистрированных в кластере серверов 1С3. Оперативного обнаружения проблем с подключением к информационной базе4. Верны варианты 1 и 25. Верны все варианты

Вопрос 4.27
Инструмент «Монитор» в ЦКК позволяет:

1. Выводить статический график с историей изменения показателей2. Выводить динамический график для оперативного контроля изменения показателей3. Отображать только график с динамикой использования оперативной памяти процессами кластера 1С4. Отображать только график с динамикой Apdex5. Отображать только график с динамикой показателей счетчиков ОС, собранных с произвольных серверов6. Верны все варианты

Вопрос 4.28
Для сбора статистики об общем количестве взаимоблокировок, происходящих в системе, следует использовать:

1. ЦКК2. Технологический журнал3. MS SQL Profiler4. ЦУП5. Верны варианты 2, 3 и 46. Верны варианты 1 и 2

Вопрос 4.29
По каким симптомам можно отличить «зависание» процессов кластера серверов от замедления работы?

1. Самопроизвольная выгрузка любого процесса кластера серверов «1С:Предприятия» или всех его процессов одновременно.2. Состояние кластера, при котором он не отвечает на запросы пользователей, не позволяет создать новое клиентское подключение и т. п., но при этом остается загруженным в память рабочего сервера.3. Ошибка данных информационной базы или ошибка платформы, которая не позволяет пользователю выполнить какое-либо прикладное действие с системой.

Зависанием кластера серверов 1С:Предприятия называется состояние кластера, при котором он не отвечает на запросы пользователей, не позволяет создать новое клиентское подключение и т.п., но при этом остается загруженным в память рабочего сервера.Источники:
ИТС: Проведение нагрузочного тестирования

Вопрос 4.30
На что указывает свойство WaitConnections у событий TLOCK в технологическом журнале кластера серверов?

1. Указывает число соединений, которые ждут возможности установки управляемой блокировки2. Указывает число соединений, которые ждут возможности установки объектной блокировки3. Указывает число соединений, которые ждут возможности установки блокировки на СУБД4. Указывает номера clientID соединений, которые хотят установить или удерживают несовместимую управляемую блокировку5. Указывает номера connectID соединений, которые хотят установить или удерживают несовместимую управляемую блокировку6. Указывает номера сеансов, которые хотят установить или удерживают несовместимую управляемую блокировку

WaitConnections – список соединений, с которыми идет столкновение по управляемым транзакционным блокировкам (для событий TLOCK и TTIMEOUT).Фактически журнал настроенный на сбор событий TLOCK, TTIMEOUT и TDEADLOCK, и является логом управляемых блокировок. В частности, сразу видно следующее:1. Разделяемая блокировка не снимается сразу после выполнения метода Прочитать (в реальности она держится до конца транзакции).
2. Время ожидания в сотнях микросекунд. По нему можно посчитать, какие на самом деле происходят потери на ожидания на управляемых блокировках в системе, даже без использования ЦУП.
3. В информации о событии TTIMEOUT в явном виде указано, кто кого ждет (соединение с t:connectID=6 ждет (WaitConnections=2) соединение с t:connectID=2).
4. В простых случаях, чтобы найти виновника конфликта блокировок, достаточно найти, какую именно управляемую блокировку, не совместимую с блокировкой-жертвой, установило соединение, указанное в WaitConnections. При этом даже в простых случаях она может находиться не в этом же файле. Она может быть в логах другого часа, другого рабочего процесса и даже, если в кластере несколько серверов, – в логах другого сервера. Именно для этого нужен файловый менеджер, позволяющий производить поиск кириллического текста одновременно в нескольких текстовых файлах.
Источники:
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.262
ИТС: Структура конфигурационного файла logcfg.xml

Вопрос 4.31
Отчет «Анализ производительности» в ЦКК позволяет:

1. Оценить Apdex в разрезе информационных баз2. Оценить динамику изменения Apdex3. Оценить статистику распределения замеров по ключевой операции4. Оценить влияние ключевой операции на общий Apdex5. Верны варианты 1, 2 и 36. Верны все варианты

По окончании формирования отчета «Анализ производительности» ЦКК выведет под таблицей параметров анализа производительности следующие данные:
  1. Графики производительности (APDEX) информационных баз.
  2. Таблицу со сведениями о показателях производительности информационных баз, сгруппированным:
а) по информационным базам;
б) по периодам — неделям, дням или часам, — в соответствии со значением параметра Периодичность замеров.
Источники:
ИТС: Анализ производительности

Вопрос 4.32
Каким образом следует получать численную оценку от изменения условий функционирования системы?

1. С помощью предварительно проведенного нагрузочного теста, сравнивая результаты, полученные на тестовой системе в старых и новых условиях функционирования2. С помощью подсистемы «Оценка производительности» БСП, сравнивая Apdex до перехода реальной системы в новые условия функционирования, и после перехода (предварительное нагрузочное тестирование при этом проводить не нужно)3. С помощью ЦУПа, сравнивая результаты мониторинга до изменения условий, и после изменения условий функционирования4. Верны варианты 1 и 25. Верны все варианты

Условия задачи:Необходимо численно оценить эффект, который будет получен при изменении некоторых (любых) условий функционирования системы. Примеры изменения условий функционирования:
  • Изменение аппаратной конфигурации. Например, оценка эффекта от использования другого сервера
  • Изменение кода конфигурации. Оценка эффекта от оптимизации кода конфигурации или от внесения дополнительной функциональности (контроль качества вносимых изменений)
  • Изменений версий ПО. Например, версии платформы 1С:Предприятия, СУБД и т.п.
Решение:Для решения задачи можно использовать 1С:ТестЦентр и сценарий «Эмуляция работы пользователей по вводу документов».Идея заключается в том, чтобы провести тестирование с использованием идентичного сценария в старых и в новых условиях, а затем сравнить полученные результаты.Последовательность действий:1. Подготовка рабочей информационной базы
2. Подготовка тестовых баз
3. Тестирование производительности
4. Анализ результатов
На основании этих данных можно будет численно оценить эффект, полученный от изменения условий функционирования системы и принять решение о внесении этих изменений в систему.Источники:
База знаний 1С: Численная оценка эффекта от изменения условий функционирования системы

Вопрос 4.33
Что в технологическом журнале представляет собой событие EXCPCNTX?

1. Событие, которые началось, но не закончилось в момент возникновения нештатной ситуации.2. Любая исключительная ситуация приложения системы «1С:Предприятие».3. Восстановимая исключительная ситуация приложения системы «1С:Предприятие».

EXCPCNTX — события, которые начались, но не закончились в момент возникновения нештатной ситуации.Источники:
ИТС: Структура конфигурационного файла logcfg.xml

Вопрос 4.34
Какое событие технологического журнала содержит информацию о входящем удаленном вызове (на стороне приемника вызова)?

1. CALL.2. SCALL.3. VRSREQUEST.4. VRSRESPONSE.

CALL — входящий удаленный вызов (удаленный вызов на стороне приемника вызова).SCALL — исходящий удаленный вызов (исходящий вызов на стороне источника вызова).VRSREQUEST — запрос к серверу за некоторым ресурсом.VRSRESPONSE — ответ сервера.Источники:
ИТС: Структура конфигурационного файла logcfg.xml

Вопрос 4.35
Что в технологическом журнале представляет собой событие EXCP?

1. Событие, которые началось, но не закончились в момент возникновения нештатной ситуации.2. Любая исключительная ситуация приложения системы «1С:Предприятие».3. Восстановимая исключительная ситуация приложения системы «1С:Предприятие».4. Исключительная ситуация приложения системы «1С:Предприятие», которое штатно не обрабатывается и может послужить причиной аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса

EXCP — исключительные ситуации приложений системы «1С:Предприятие», которые штатно не обрабатываются и могут послужить причиной аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса.Источники:
ИТС: Структура конфигурационного файла logcfg.xml

Вопрос 4.36
Какое событие технологического журнала содержит информацию об исходящем удаленном вызове (на стороне источника вызова)?

1. CALL.2. SCALL.3. VRSREQUEST.4. VRSRESPONSE.

CALL — входящий удаленный вызов (удаленный вызов на стороне приемника вызова).SCALL — исходящий удаленный вызов (исходящий вызов на стороне источника вызова).VRSREQUEST — запрос к серверу за некоторым ресурсом.VRSRESPONSE — ответ сервера.Источники:
ИТС: Структура конфигурационного файла logcfg.xml

Вопрос 4.37
Какое событие технологического журнала содержит информацию о запросе к серверу приложений за некоторым ресурсом?

1. CALL.2. SCALL.3. VRSREQUEST.4. VRSRESPONSE.

CALL — входящий удаленный вызов (удаленный вызов на стороне приемника вызова).SCALL — исходящий удаленный вызов (исходящий вызов на стороне источника вызова).VRSREQUEST — запрос к серверу за некоторым ресурсом.VRSRESPONSE — ответ сервера.Источники:
ИТС: Структура конфигурационного файла logcfg.xml

Вопрос 4.38
Какое событие технологического журнала содержит информацию об ответе сервера приложений?

1. CALL.2. SCALL.3. VRSREQUEST.4. VRSRESPONSE.

CALL — входящий удаленный вызов (удаленный вызов на стороне приемника вызова).SCALL — исходящий удаленный вызов (исходящий вызов на стороне источника вызова).VRSREQUEST — запрос к серверу за некоторым ресурсом.VRSRESPONSE — ответ сервера.Источники:
ИТС: Структура конфигурационного файла logcfg.xml

Вопрос 4.39
Чем событие LEAKS отличается от MEM?

1. LEAKS — это событие, которое указывает, что память была выделена и не освобождена по окончанию исполнения вызова, а MEM — cобытие, связанное с увеличением объема памяти, занятой серверными процессами (ragent, rmngr, rphost).2. MEM это событие, связанное с утечкой памяти, которая может быть вызвана ошибками в коде конфигурации, а LEAKS — cобытие, связанное с увеличением объема памяти, занятой серверными процессами (ragent, rmngr, rphost).3. Это одно и то же событие (утечка памяти), имеющее разные названия в разных версиях платформы.

Элемент <leaks> устанавливает отслеживание утечек памяти, вызванных проблемами кода конфигурации. По умолчанию отслеживание утечек выключено и не влияет на производительность системы.Если элемент <mem> присутствует, то процессы сервера «1С:Предприятия» ведут подсчет:
  • количества выделенных и не освобожденных фрагментов памяти;
  • суммарного объема выделенных и не освобожденных фрагментов памяти.
Если в конфигурационном файле технологического журнала контроль утечек памяти задан следующим элементом leaks, то в технологический журнал будет выведена информация об объектах, которые были созданы, но не были освобождены между началом и окончанием процесса на сервере и на клиенте.Источники:
ИТС: Процесс исполнения встроенного языка 1С:Предприятия
ИТС: Описание и расположение служебных файлов

Вопрос 4.40
Что произошло, если получено сообщение Maximum idle time for lock access?

1. Таймаут на управляемой блокировке.2. Таймаут СУБД.3. Сообщение не имеет отношения к конфликтам блокировок.

Maximum idle time for lock access — таймаут на управляемой.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.58

Вопрос 4.41
Что обозначает параметр «Max degree of parallelism» («Максимальная степень параллелизма») (SQL Management studio, свойства SQL server, закладка Дополнительно)?

1. Ограничение на количество одновременно исполняющихся запросов сервером СУБД2. Число одновременно возможных установленных несовместимых блокировок на один ресурс3. Число процессов кластера серверов 1С, которые могут одновременно работать с сервером СУБД4. Число процессоров, задействованных для выполнения одной инструкции, для каждого из планов параллельного выполнения

Если экземпляр SQL Server работает на многопроцессорном компьютере, он определяет оптимальную степень параллелизма, то есть количество процессоров, задействованных для выполнения одной инструкции, для каждого из планов параллельного выполнения.Для ограничения количества процессоров в плане параллельного выполнения может быть использован параметр max degree of parallelism.Источники:
MSDN: Настройка параметра конфигурации сервера max degree of parallelism

Вопрос 4.42
Если не считать нагрузочных тестов, что можно сказать про ключевые операции?

1. Ключевая операция всегда начинается на клиенте.2. Ключевая операция может состоять из нескольких интерактивных действий пользователя, потому что мы оптимизируем только не только систему, но и работу пользователей.3. Ключевая операция всегда заканчивается на клиенте. То есть мы не можем разбить на несколько КО действие, которое является единым с точки зрения пользователя. В этом нет смысла, т. к. требования к частям операции не могут быть определены (пользователю все равно).4. Ключевая операция всегда соответствует транзакции.5. Верны ответы 1 и 3.6. Верны ответы 2, 3, 4.

  • ключевая операция всегда начинается на клиенте;
  • ключевая операция не может состоять из нескольких интерактивных действий пользователя, потому что мы оптимизируем только систему, а не работу пользователей;
  • ключевая операция всегда заканчивается на клиенте. То есть мы не можем разбить на несколько КО действие, которое является единым с точки зрения пользователя. В этом нет смысла, т. к. требования к частям операции не могут быть определены (пользователю все равно).
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.25

Вопрос 4.43
Что такое ключевая операция?

1. Это интерактивное неделимое действие, у которой количественной характеристикой, определяющей наступление нежелательного состояния является время выполнения этой операции, и наступление этого нежелательного состояния является важной проблемой. На протяжении всей ключевой операции пользователь ожидает возврат управления от информационной системы.2. Это любое неинтерактивное действие, выполняемое системой.3. Это показатель работы, у которой объективной характеристикой, определяющей наступление нежелательного состояния, является успех или неуспех выполнения этой операции.

Ключевая операция (КО) – это операция (действие) системы, у которой количественной характеристикой, определяющей наступление нежелательного состояния, является время выполнения этой операции, и наступление этого нежелательного состояния является важной проблемой.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) на стр.25

Вопрос 4.44
Что подразумевается под приоритетом оптимизации ключевых операций?

1. Важность конкретных операций для отдельных пользователей.2. Порядок сортировки операций от наименее производительной до наиболее производительной3. Порядок оптимизации операций, назначенный исходя из недостаточно быстрого выполнения операций и важности для бизнеса пользователей4. Порядок сортировки операций от наиболее производительной до наименее производительной5. Наиболее простой порядок оптимизации операций

Приоритет обычно определяется исходя из того, насколько проблема, вызываемая  недостаточно быстрым выполнением действий системы, важна для пользователя.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.26

Вопрос 4.45
Что такое целевое время ключевой операции?

1. Это время, за которое, с точки зрения пользователя, всегда должна выполняться ключевая операция, чтобы он считал работу системы отличной.2. Это время, до которого, с точки зрения разработчиков, реально можно улучшить время выполнения операции.3. Это минимальное время, за которое на текущий момент в реальности выполняется ключевая операция.

Целевое время – это время, за которое, с точки зрения пользователя, всегда должна  выполняться ключевая операция, чтобы он считал работу системы отличной.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.26

Вопрос 4.46
Требуется определить целевое время для нескольких ключевых операций. Заказчик затрудняется назвать целевое время. Каким образом определить целевое время?

1. Существует и является решаемой задача – получить целевое время только по заданному значению APDEX.2. Назначить для всех операций целевое время, равное 1 секунде, как это сделано в БСП ОценкаПроизводительности3. Рассчитать требуемое целевое время исходя из частоты выполнения операций, оценки пользователей, наиболее часто выполняющих эти операции, и текущей оценки производительности по методике Apdex.

Обратная задача: определение целевого времени Т по известному APDEXИногда заказчик может затрудняться с определением целевого времени Т для отдельных ключевых операций. То есть, у заказчика может быть субъективное мнение о производительности системы, но при этом он будет не готов сформулировать объективные требования к производительности.В этом случае можно попробовать решить задачу от обратного – получить значение времени Т, исходя из субъективной оценки.В этом случае последовательность действий может быть следующей:1. Получить субъективную оценку производительности этой операции.
Следует субъективно оценить производительность данной операции в терминах APDEX, то есть по следующей шкале:
  • Неприемлемо
  • Очень плохо
  • Плохо
  • Хорошо
  • Отлично
Оценка должна отражать консолидированное мнение всех заинтересованных специалистов заказчика.
Предположим, что заказчик оценил производительность как «очень плохо». Будем считать, что это соответствует значению APDEX = 0.6 (середина интервала «очень плохо»).
2. Получить данные по фактической производительности данной операции в системе.
Необходимо собрать полную информацию о производительности системы при выполнении этой операции.
3. Подобрать такое значение Т, при котором APDEX = 0.6
Необходимо задавать различные значения Т с некоторым шагом, вычисляя APDEX для каждого из значений. При получении нужного значения APDEX – зафиксировать значение Т, для которого оно получено.
Эту процедуру можно автоматизировать. Например, при помощи функции «Подобрать значение», входящей в Excel.
Предположим, что путем такого перебора мы получили значение Т = 5 секунд.
4. Проверить правильность полученного значения Т
Продолжайте следить за производительностью системы, получая значение APDEX для данной операции, исходя из вычисленного времени Т. Убедитесь в том, что получаемая оценка APDEX соответствует субъективной оценке заказчика
Источники:
ИТС: Оценка интегральной производительности системы по методике APDEX

Вопрос 4.47
Что такое ошибки блокировок?

1. Ошибки, возникающая при превышении времени ожидания на блокировке (lock request time out) или неразрешимый конфликт блокировок (взаимоблокировка – deadlock).2. Ошибки «Ошибка блокировки объекта. Объект уже заблокирован» и «Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)». Либо, в последних версиях: «Данные были изменены или удалены другим пользователем».3. Верны ответы 1 и 2.

Ошибки блокировок — ошибкой блокировки называется ошибка, возникающая при превышении времени ожидания на блокировке (lock request time out) или неразрешимый конфликт блокировок (взаимоблокировка –deadlock).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.30

Вопрос 4.48
Как обнаружить бесконечную рекурсию в коде на встроенном языке?

1. Только анализом кода под отладкой2. Технологическим журналом с событием EXCP3. C помощью ЦУП4. Технологическим журналом с событием CALL5. С помощью журнала регистрации6. Технологическим журналом с событием REC

При бесконечной рекурсии в зависимости от версии технологической платформы возникнет либо аварийное завершение процесса в результате переполнения стека, либо исключение, в котором будет указан стек кода на встроенном языке, приводящий к проблеме. В момент воспроизведения проблемы в технологическом журнале будет сделана запись с событием EXCP. Но для полного анализа необходимы также события CALL и SCALL.Источники:
ИТС: Бесконечная рекурсия
ИТС: Поиск циклических ссылок

Вопрос 4.49
Укажите правильную формулу расчета Apdex. Принятые обозначения:
N — общее число выполнений данной операции;
NS — число выполнений операции с временем отклика от 0 до Т;
NL — число выполнений операции с временем отклика от 0 до 2Т;
NT- число выполнений операции с временем отклика от Т до 4Т;
Т — требуемое время, за которое должна выполняться операция;
NF — число выполнений операции с временем отклика от 4Т;
Nall — число всех выполнений всех ключевых операций за выбранный период;

1. Apdex = (NF + NT/2)/Nall2. Apdex = (NS + NT/2)/N3. Apdex = (NS + NL/2)/NT4. Apdex = (NL + NT/2)/N5. Apdex = (NF + N/2)/Nall6. Apdex = (NS + NT/2)/Nall

Для вычисления APDEX, необходимо обработать данные по времени выполнения всех ключевых операций и получить следующие значения:
  • N – общее количество выполнений данной операции
  • NS – количество выполнений с временем отклика от 0 до Т
  • NT – количество выполнений с временем отклика от T до 4T
Значение APDEX вычисляется по формуле: APDEX = (NS + NT/2)/NИсточники:
ИТС: Оценка интегральной производительности системы по методике APDEX

Вопрос 4.50
Контрольная процедура «Контроль потребления памяти» в ЦКК предназначена для:

1. Сбора информации о потреблении памяти рабочими процессами кластера 1С2. Сбора информации о потреблении памяти клиентскими приложениями 1С3. Оперативного мониторинга случаев превышения порогового значения оперативной памяти4. Верны варианты 1 и 35. Верны все варианты

Контрольная процедура Контроль потребления памяти позволяет оперативно обнаруживать превышение заданного порогового значения оперативной памяти, занятой рабочими процессами кластера серверов «1С:Предприятия 8». При работе контрольной процедуры ЦКК выполняет подсоединение к агенту сервера «1С:Предприятия 8» и запрашивает данные о потреблении оперативной памяти рабочими процессами кластера. Если рабочие процессы кластера потребляют памяти больше указанного максимального значения, будет сформирована задача ответственному за разбор проблем потребления памяти.Источники:
ИТС: Контроль потребления памяти

Вопрос 4.51
Контрольная процедура «Контроль потребления памяти» в ЦКК позволяет получить:

1. Точную информацию о потреблении памяти отдельными сеансами2. Приблизительную оценку потребления памяти отдельными сеансами3. Контрольная процедура не предназначена для получения оценки потребления памяти отдельными сеансами

Контрольная процедура Контроль потребления памяти позволяет оперативно обнаруживать превышение заданного порогового значения оперативной памяти, занятой рабочими процессами кластера серверов «1С:Предприятия 8». При работе контрольной процедуры ЦКК выполняет подсоединение к агенту сервера «1С:Предприятия 8» и запрашивает данные о потреблении оперативной памяти рабочими процессами кластера. Если рабочие процессы кластера потребляют памяти больше указанного максимального значения, будет сформирована задача ответственному за разбор проблем потребления памяти.Примечание.
Контрольная процедура сохраняет в ЦКК информацию о работе сеансов в контролируемом кластере серверов. Количество сеансов — это важный индикатор работы информационной системы. Его изменение может многое сказать о нарушениях в работе системы (например, резкое падение числа сеансов в тот момент, когда не запланировано никаких регламентных работ). Для использования при мониторинге показателей количества сеансов необходимо включить контрольную процедуру Контроль потребления памяти.
5. Производительность

Вопрос 5.1
Как получить точное время выполнения операции в однопользовательском режиме в веб клиенте?

1. С помощью секундомера.2. Внести соответствующие изменения в код конфигурации, используя подсистему Оценка производительности, входящую в состав Библиотеки стандартных подсистем.3. С помощью замера производительности отладчиком.4. С помощью вызовов функции ТекущаяДата().5. С помощью журнала регистрации.6. Реально выполнимы 1, 3, 5.

Вопрос 5.2
Как получить замер производительности с серверной частью?

1. Настроить файл logcfg.xml с событием debug.2. Внести в реестр Windows (regedit) ключ «-debug» в строку запуска службы агента 1С:Предприятия.3. Запустить информационную базу с параметром «-debug».4. Добавить файл debug.xml в каталог /bin.5. В конфигураторе в меню Сервис – Параметры поставить флажок напротив пункта «Выполнять замеры с серверной частью».

В клиент-серверном варианте, чтобы в замер попал серверный код, необходимо, чтобы сервер был запущен в режиме отладки с ключом -debug.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.147

Вопрос 5.3
Как получить время выполнения операций пользователями в многопользовательском режиме?

1. Внести соответствующие изменения в код конфигурации, используя подсистему Оценка производительности, входящую в состав Библиотеки стандартных подсистем.2. С помощью секундомера.3. С помощью вызовов функции ТекущаяДата() и организации хранения результатов.4. С помощью вызовов функции ТекущаяДата() без хранения результатов.5. С помощью журнала регистрации.6. Реально выполнимы 1, 3, 5.

Вопрос 5.4
Технологический журнал для 32-разрядной системы Windows при включении на сервере:

1. ничем не отличается от журнала для 64-разрядной системы.2. будет содержать журналы не только серверных, но и всех клиентских процессов системы.3. будет содержать журналы не только серверных, но и клиентских процессов, запущенных с этого сервера.

Нет разницы.

Вопрос 5.5
Дисперсия случайной величины это:

1. оценка среднего квадрата отклонений ее значений от математического ожидания.2. математическое ожидание квадрата соответствующей центрированной величины.3. математическое ожидание модуля соответствующей центрированной величины.

Дисперсией случайной величины называется математическое ожидание квадрата ее отклонения от соответствующей центрированной величины, т.е. математическое ожидание квадрата центрированной случайной величины.Ссылки:
«Теория вероятностей и математическая статистика. Основы, прикладные аспекты с примерами и задачами в среде Mathcad» — Ивановский Р.И., БХВ-Петербург, 2008 (стр. 77)

Вопрос 5.6
Что нужно получить для проверки основных подозреваемых в медленном выполнении операции?

1. Время выполнения по секундомеру и план запроса.2. Замер на отладчике под нагрузкой.3. Сумму Duration всех запросов операции к базе в однопользовательском режиме и замер на отладчике в однопользовательском режиме, желательно на рабочей базе, при невозможности — на копии.4. Проверить, как эта же операция выполняется в типовой конфигурации.5. Через технологический журнал собрать события DBMSSQL.

Плохая работа запроса для СУБД MS SQL проверяется так: включив профайлер SQL Server, выполняем ключевую операцию еще раз и собираем длительности всех  запросов, выполнявшихся во время его работы (показатель duration). Если сумма duration близка ко времени выполнения всей операции, можно однозначно делать вывод, что потери времени происходят в СУБД.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.23

Вопрос 5.7
Стандартное отклонение (в математической статистике) это:

1. оценка среднеквадратического отклонения случайной величины x относительно её математического ожидания на основе несмещённой оценки её дисперсии.2. то же, что среднеквадратическое отклонение случайной величины x.3. показатель рассеивания значений случайной величины относительно её математического ожидания. Маленькое значение стандартного отклонения показывает большой разброс значений в представленном множестве со средней величиной множества; большое значение, соответственно, показывает, что значения в множестве сгруппированы вокруг среднего значения.

Вопрос 5.8
Требуется найти код на встроенном языке, в результате выполнения которого был выполнен определенный запрос к серверу СУБД. Т.е. нужно найти место в конфигурации, где выполнен запрос. Как именно это сделать (и возможно ли это)? Текст запроса нам известен из трассировки MS SQL Profiler.

1. С помощью журнала регистрации. При выполнении запроса в журнале регистрации будет событие с уровнем Информировать(). Аналогичные события пишутся при изменении объектов.2. Достаточно трассировки MS SQL Profiler, т.к. один из параметров этого запроса и будет стек на встроенном языке.3. С помощью замера производительности конфигуратором (сервер в режиме debug) можно получить точную информацию о строке кода, из которой был выполнен запрос.4. Получить стек на встроенном языке, зная только текст запроса, невозможно. Информации недостаточно.5. Необходимо настроить технологический журнал с фильтрами, включающими уникальные части текста запроса, затем дождаться следующего выполнения запроса. При следующем выполнении стек запроса будет в технологическом журнале.

Вопрос 5.9
Какие классы событий нужно собирать с помощью MS SQL Profiler только для получения ответа на вопрос: «Каково общее время выполнения запросов к серверу СУБД MS SQL Server от одного выполнения некоторой операции?»

1. Достаточно только одного класса событий TSQL \ SQL:BatchCompleted2. Stored Procedures \ RPC:Started, TSQL \ SQL:BatchStarted, Performance:Performance statistics3. Stored Procedures \ RPC:Completed, TSQL \ SQL:BatchCompleted4. Performance:Showplan Statistics Profile

Вопрос 5.10
По какому критерию (каким критериям) в трассировке MS SQL Profiler можно выяснить, какие именно запросы могут выполняться наиболее неоптимально (могут иметь наиболее неоптимальные планы запросов)?

1. TimeoutWarning2. Duration и CPU3. Reads и Duration4. Duration и RowCounts5. Reads, RowCounts и Duration

Вопрос 5.11
Центрированной случайной величиной, соответствующей случайной величине Х, называется:

1. отклонение случайной величины Х от ее математического ожидания.2. отклонение случайной величины Х от ее моды.3. отклонение случайной величины Х от ее медианы.

Центрированной случайной величиной называется разность между случайной величиной и ее математическим ожиданием.Ссылки:
«Теория вероятностей и математическая статистика. Основы, прикладные аспекты с примерами и задачами в среде Mathcad» — Ивановский Р.И., БХВ-Петербург, 2008 (стр. 77)

Вопрос 5.12
Математическое ожидание случайной величины это:

1. среднее арифметическое наблюденных значений случайной величины.2. сумма произведений всех возможных значений случайной величины на вероятности этих значений.3. наиболее вероятное значение случайной величины (значение, в котором плотность вероятности максимальна).4. такое значение случайной величины, при котором равновероятно, окажется ли случайная величина больше или меньше этого значения.5. верны все ответы.

Математическим ожиданием случайной величины называется сумма произведений всех возможных значений случайной величины на вероятности этих значений.Ссылки:
«Теория вероятностей и математическая статистика. Основы, прикладные аспекты с примерами и задачами в среде Mathcad» — Ивановский Р.И., БХВ-Петербург, 2008 (стр. 71)

Вопрос 5.13
Оценка математического ожидания случайной величины — это:

1. среднее арифметическое значение случайной величины.2. сумма произведений всех возможных значений случайной величины на вероятности этих значений.3. наиболее вероятное значение случайной величины (значение, в котором плотность вероятности максимальна).4. такое значение случайной величины, при котором равновероятно, окажется ли случайная величина больше или меньше этого значения.5. верны все ответы.

Вопрос 5.14
Мода случайной величины это:

1. среднее арифметическое наблюденных значений случайной величины.2. сумма произведений всех возможных значений случайной величины на вероятности этих значений.3. наиболее вероятное значение случайной величины (значение, в котором плотность вероятности максимальна).4. такое значение случайной величины, при котором равновероятно, окажется ли случайная величина больше или меньше этого значения.5. верны все ответы.

Модой дискретной случайно величины называется наиболее вероятное значение случайной величины. Мода непрерывной случайно величины равна тому ее значению (или нескольким ее значениям) , которое соответствует максимуму (нескольким максимумам) плотности вероятности.Ссылки:
«Теория вероятностей и математическая статистика. Основы, прикладные аспекты с примерами и задачами в среде Mathcad» — Ивановский Р.И., БХВ-Петербург, 2008 (стр. 75)

Вопрос 5.15
Замер производительности конфигуратором показывает:

1. работу кода (клиентскую и серверную) конфигурации2. работу кода (клиентскую и серверную) конфигурации и платформенные вызовы3. только работу клиентской части кода

Время, которое работал код платформы на языке 1С, который относится к данной ключевой операции, можно увидеть, нажав Ctlr + A в замере конфигуратором.
Время работы платформенных вызовов = время выполнения операции (по секундомеру)  время выполнения кода платформы на языке 1С.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.23
ИТС: Оценка производительности и оптимизация многопользовательской системы. Общий подход.

Вопрос 5.16
Медиана случайной величины это:

1. среднее арифметическое наблюденных значений случайной величины.2. сумма произведений всех возможных значений случайной величины на вероятности этих значений.3. наиболее вероятное значение случайной величины (значение, в котором плотность вероятности максимальна).4. такое значение случайной величины, при котором равновероятно, окажется ли случайная величина больше или меньше этого значения.5. верны все ответы.

Вопрос 5.17
Наличие нескольких пиков на гистограмме распределения времени выполнения ключевой операции

1. указывает на некорректно встроенные счетчики замеров производительности2. совершенно нормально3. указывает на то, что с одним счетчиком выполняется несколько типов операций, длительность которых существенно различается4. должно пропасть с увеличением мощности выборки5. Верные ответы 1 и 36. Верные ответы 2 и 4

Вопрос 5.18
В чем заключается практическое преимущество использования медианы вместо среднего арифметического для оценки математического ожидания выборки:

1. Оба показателя всегда дают практически идентичный результат, однако медиану сложнее вычислить. Поэтому никаких преимуществ нет.2. Медиана дает более точную оценку при нормальном распределении выборки, однако она очень чувствительна к случайным «выбросам» замеров с большим абсолютным значением. Поэтому на практике ее не используют.3. Медиана более устойчива к случайным «выбросам» замеров с большим абсолютным значением.4. Медиана легко вычисляется при использовании СКД с помощью функции «ВычислитьМедиануВыборки()», однако дает очень грубую, приближенную оценку.5. Медиана не может быть использована для этой цели, т.к. оценивает не математическое ожидание, а степень отклонения от него.6. Верны варианты 3 и 4

Вопрос 5.19
В чем измеряется стандартное отклонение?

1. В тех же единицах, что и случайная величина.2. В единицах квадрата случайной величины.3. В единицах, обратных единицам случайной величины.4. Оно не имеет размерности.

Среднеквадратическое отклонение измеряется в единицах измерения самой случайной величины.Ссылки:
Wikipedia: Среднеквадратическое отклонение

Вопрос 5.20
На что надо смотреть в результатах замера на отладчике при анализе проблем производительности?

1. Сколько раз выполнялись строки кода, входящие в топ по времени выполнения.2. Есть ли строки кода, выполнение которых заняло существенную часть от общего времени.3. Каково соотношение клиентской и серверной части кода.4. На глубину стека вызова.5. Верны ответы 1 и 2.6. Верны ответы 1 и 3.

Первое, на что надо смотреть, сколько раз выполнялись строки кода, входящие в топ  по времени выполнения. Если эти строки содержат запросы к базе через объектную  модель или на языке запросов и эти строки выполнялись много раз, то эти участки кода надо иметь в виду как приоритетные для исправления: запрос в цикле – это способ программирования, который всегда дает проигрыш во времени выполнения кода.Второе, на что надо смотреть, есть ли строки кода, выполнение которых заняло существенную часть от общего времени. Это позволяет оценить шансы в борьбе за повышение производительности. Если такие строки есть, то шансы можно оценивать как очень хорошие. Если же таких строк нет и, например, на первом месте находится строка, выполнение которой занимает 3–5 % от общего времени, то понятно, что уменьшение времени выполнения этой строки даже до нуля даст прирост в те же самые 3–5 %. Поскольку речь может идти о том, чтобы ускорить выполнение операций в разы, шансы на это будут совершенно призрачны.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.23

Вопрос 5.21
Куда именно помещаются данные при выполнении ПоместитьВоВременноеХранилище?

1. Во временную базу данных tempdb при следующем обращении к базе2. В базу данных, с которой происходит работа, при следующем обращении к базе3. В хранилище сеансовых данных с другими параметрами сеанса4. Данные помещаются в рабочий каталог данных пользователя

При вызове методов: ПоместитьВоВременноеХранилище, ПоместитьФайл, НачатьПомещениеФайла, значения указанные в параметрах, записываются в сеансовые данные.Источники:
ИТС: Анализ причин роста сеансовых данных

Вопрос 5.22
Оптимизатор СУБД строит план запроса на основе

1. Только текста запроса2. Текста запроса, имеющихся индексов, статистики3. Текста запроса и имеющихся индексов, статистика не учитывается4. Текста запроса, имеющихся индексов, статистики и возможных результатов вложенных подзапросов в запросе

В тексте запроса содержится информация, какие данные, из каких таблиц и по каким условиям требуется получить. Но каким образом выполнять запрос, «решает» сама СУБД. Для этого на основании текста запроса, имеющихся индексов таблиц и статистики оптимизатор СУБД строит план запроса – набор физических операторов, которые необходимо выполнить для получения запрошенных данных. Посмотреть, какой план запроса используется, можно через технологический журнал или средствами самой СУБД.Источники:
ИТС: Оптимизация запросов

Вопрос 5.23
Следует ли использовать вложенные подзапросы?

1. Нет, но их возможно использовать только для повышения читаемости текста запроса2. Да, т.к. в этом случае запросы будут работать более оптимально3. Использовать можно, но следует избегать соединения с вложенными подзапросами4. Не следует использовать вложенные подзапросы только в случае, если вложенные подзапросы возвращают много строк в результирующей выборке.

При написании запросов не следует использовать соединения с вложенными запросами. Следует соединять друг с другом только объекты метаданных или временные таблицы. Если запрос использует соединения с вложенными запросами, то его следует переписать с использованием временных таблиц (не важно с какой стороны соединения находится вложенный запрос).Источники:
ИТС: Запросы, выполняющие соединение с вложенными запросами или виртуальными таблицами

Вопрос 5.24
О чем говорит timeout warning в скомпилированном плане запроса?

1. О возникновении timeout на СУБД при попытке установки блокировки2. О превышении лимита времени, затраченного СУБД на выполнение запроса по скомпилированному плану3. О том, что оптимизатору не хватило времени на поиск наилучшего плана запроса4. О возможном длительном исполнении запроса или возможного timeout при его выполнении ввиду высокой интенсивности работы с таблицами на СУБД, которые участвуют в запросе

Для того чтобы узнать, какой план выполнения запроса выбран оптимизатором СУБД, можно воспользоваться консолью запросов, технологическим журналом или средствами СУБД. Как правило, запрос – сложный и будет плохо выполняться, если в скомпилированном плане выполнения запроса есть timeout warning, который означает, что оптимизатору СУБД не хватило времени на поиск наилучшего плана запроса.Источник:
ИТС: Общие требования по разработке оптимальных запросов

Вопрос 5.25
Каким образом выяснить, что используется эффективный план запроса?

1. Выполнить запрос несколько раз и замерить время выполнения запроса2. Посмотреть на план запроса3. Достаточно проанализировать текст запроса на наличие типовых неоптимальностей4. Выполнить запрос в одной транзакции, встать в конце транзакции под отладкой, затем выполнить этот же запрос в другой транзакции. Если избыточного ожидания не возникает, то план оптимальный

Вопрос 5.26
Для того, чтобы убедиться, что индекс может быть задействован в конкретной операции, необходимо

1. проверить, что поля, используемые в операции, находятся в составе полей индекса с начала и без пропусков2. убедиться средствами СУБД, что индекс существует3. проверить, что поля в операции находятся точно в том же порядке, что и в индексе, при этом наличие пропусков не существенно4. убедиться, что имеется статистика по конкретному индексу

Вопрос 5.27
Следует ли использовать низкоселективные поля в индексе?

1. Да, следует, т.к. низкоселективное поле позволит быстро выбрать нужные записи из небольшого множества значений2. Их следует использовать ближе к началу индекса, т.к. они позволяют на ранних этапах «откинуть» неподходящие варианты3. Их следует использовать ближе к концу индекса, т.к. не позволяют эффективно отбирать по этим полям4. Не следует создавать индексы по низкоселективным полям

Вопрос 5.28
Решается задача оптимизации динамического списка. Ожидается работа на стабильных и высокоскоростных каналах связи. Возможен значительный объем выборки данных. Имеются соединения с виртуальными таблицами. Выберите правильное решение:

1. Следует отключить динамическое считывание данных, т.к. это минимизирует число клиент-серверных вызовов2. Осуществлять вывод данных не в динамический список, а в таблицу или дерево значений, т.к. появляется возможность использования временных таблиц вместо виртуальных.3. Проставить индексы для всех полей, выводимых в динамический список.4. Упростить запрос, изменив архитектуру хранения данных


6. Запросы и методы их оптимизации

Вопрос 6.1
При помощи каких инструментов возможно получить план запроса, формируемый SQL Server?

1. SQL Server Profiler.2. Технологический журнал.3. ЦУП.4. ЦКК.5. Верны варианты 1,2,3.6. Верны варианты 1,2,4.

Вопрос 6.2
Какой элемент должен присутствовать в настройках технологического журнала для включения сбора планов запросов?

1. sql2. plansql3. sqlplan4. plan5. excp

Если элемент <plansql> присутствует, то будет включен сбор планов запросов, которые генерируют СУБД при выполнении запросов «1С:Предприятия».Источники:
ИТС: Элемент plansql

Вопрос 6.3
Какая пара событий в SQL Server Profiler позволяет получить как графическое, так и текстовое представление плана запроса?

1. Performance\Showplan Statistics Profile и Performance\Showplan XML Statistics Profile2. Locks\Lock:Acquired и Locks\Lock:Timeout3. Performance\Plan Guide Successful и Performance\Plan Guide Unsuccessful4. Performance\SQL:FullTextQuery и Performance\Auto Stats5. Performance\Showplan Query Profile и Performance\Showplan XML Query Profile

Вопрос 6.4
Что такое Index Scan?

1. Логический и физический оператор, который извлекает все строки из кластеризованного индекса, указанного в колонке Argument.2. Физический оператор, который вставляет строки из своего ввода в некластеризованный индекс, указанный в колонке Argument.3. Логический и физический оператор, который извлекает все строки из некластеризованного индекса, указанного в колонке Argument.4. Физический оператор, который удаляет строки ввода из некластеризованного индекса, указанного в колонке Argument. Если есть указатель WHERE:(), то удаляются только те строки, которые соответствуют указателю.5. Физический оператор, который является частью цепочки (группы) объединенных hash-операторов, отображающих общую hash- функцию и разделяющих общую стратегию.

Index Scan — оператор получает все записи некластерного индекса, указанного в столбце Argument. Index Scan является логическим и физическим оператором.Ссылки:
Эксперт (стр. 101)

Вопрос 6.5
Что такое план запроса?

1. Последовательность физических и логических операций, необходимых для получения результата SQL-запроса.2. Запрос, описанный в коде конфигурации 1С:Предприятия.3. Предварительная структура итоговой таблицы запроса.4. Запрос, формируемый платформой 1С:Предприятия для исполнения на сервере СУБД.

План запроса состоит из операторов. Фактически план запроса –это дерево физических операторов.
Операторы описывают, как SQL Server выполняет запрос. Оптимизатор запросов использует операторы для построения плана запроса, чтобы создать результат, заданный в запросе.
Ссылки:
Эксперт (стр. 98)

Вопрос 6.6
Что такое Index Seek?

1. Логический и физический оператор, который использует возможность поиска индексов с целью извлечения строк из некластеризованного индекса.2. Физический оператор, обновляющий строки из его ввода в некластеризованном индексе, соответствующем колонке Argument.3. Логический и физический оператор, который использует возможность поиска индексов с целью извлечения строк из кластеризованного индекса.4. Логический и физический оператор, сканирующий журнал транзакций.5. Логический оператор, который извлекает все строки из некластеризованного индекса, указанного в колонке Argument.

Index Seek — оператор использует возможности поиска по индексам для получения строк из некластерного индекса, указанного в столбце Argument. Index Seek является логическим и физическим операторомСсылки:
Эксперт (стр. 102)

Вопрос 6.7
Что такое Clustered Index Scan?

1. Физический оператор, который вставляет строки из ввода в кластеризованный индекс, соответствующий в колонке Argument.2. Логический и физический оператор, который сканирует кластеризованный индекс, определенный в колонке Argument.3. Логическая и физическая операция, использующая поисковую способность индексов извлекать хранимые строки из кластеризованного индекса.4. Логический и физический оператор, сканирующий журнал транзакций.

Clustered Index Scan — оператор сканирует кластерный индекс, указанный в столбце Argument. Clustered Index Scan является логическим и физическим оператором.

Вопрос 6.8
Что такое Clustered Index Seek?

1. Физический оператор, обновляющий исходные строки, указанные в колонке Argument, в кластеризованном индексе.2. Логический и физический оператор, который использует возможность поиска индексов с целью извлечения строк из некластеризованного индекса.3. Логический и физический оператор, который отсканирует дистанционный объект, используя кластер.4. Логический и физическая оператор, использующий поисковую способность индексов извлекать хранимые строки из кластеризованного индекса.

Clustered Index Seek — оператор использует поисковые возможности индексов для получения строк из кластерного индекса, указанного в столбце Argument. Clustered Index Seek – это логический и физический оператор.Ссылки:
Эксперт (стр. 102)

Вопрос 6.9
Что такое Table Scan?

1. Физический оператор, опционально группирующий набор колонок и высчитывающий один или несколько агрегирующих выражений, возвращенных запросом.2. Физический оператор, вставляющий строки из своего ввода в таблицу по колонке Argument.3. Логический и физический оператор, сканирующий журнал транзакций.4. Логический и физический оператор, возвращающий все строки из таблицы, указанной в колонке Argument.5. Логический и физический оператор, сканирующий строки из таблицы, указанной в колонке Argument, в объеме, указанном в условии WHERE.

Вопрос 6.10
В чем отличие Clustered Index Scan от Table Scan?

1. Clustered Index Scan сканирует кластерный индекс, а Table Scan возвращает все строки из таблицы, указанной в колонке Argument2. Clustered Index Scan может сканировать часть таблицы, а Table Scan — только таблицу полностью.3. Clustered Index Scan используется для сканирования сортированных таблиц целиком, а Table Scan — несортированных.4. Верны ответы 1 и 2.5. Верны ответы 1 и 3.

Вопрос 6.11
В чем отличие Clustered Index Scan от Index Scan?

1. Clustered Index Scan сканирует таблицу целиком, а Index Scan может сканировать часть таблицы.2. Clustered Index Scan используется для сканирования сортированных и несортированных таблиц, а Index Scan — только для несортированных.3. Отличия связаны с версией SQL Server.4. Clustered Index Scan — операция, выполняемая над кластерным индексом, а Index Scan — операция, выполняющая сканирование некластерного индекса

Вопрос 6.12
Чтобы найти длительный запрос MS SQL Server, получение какого события следует прописать в файле настроек технологического журнала?

1. DBMSSQL с фильтром по полю Lock:Acquired.2. DBMSSQL с фильтром по полю Durationus.3. VRSREQUEST с фильтром по полю Duration.4. EXCP с фильтром по полю Duration.5. Нет верного ответа.

Вопрос 6.13
Будет ли событие записано в технологический журнал в момент своего начала (например, при начале выполнения запроса)?

1. Да, если в настройках технологического журнала, указать событие CALL и SCALL.2. Нет.3. Да.4. Да, но только в файловом варианте.

Вопрос 6.14
Выберите верное утверждение.

1. В автоматическом режиме управления блокировками необходимо всегда использовать в запросе конструкцию ДЛЯ ИЗМЕНЕНИЯ.2. Конструкция ДЛЯ ИЗМЕНЕНИЯ используется, чтобы вместо разделяемой блокировки установить блокировку обновления.3. Конструкция ДЛЯ ИЗМЕНЕНИЯ используется, чтобы вместо разделяемой блокировки установить блокировку исключительную в управляемом режиме блокировок.4. В управляемом режиме управления блокировками конструкция ДЛЯ ИЗМЕНЕНИЯ в запросе используется для защиты от взаимоблокировки, которая возникает при повышении уровня изоляции транзакции.

Вопрос 6.15
Конструкция ДЛЯ ИЗМЕНЕНИЯ в запросах используется для защиты от взаимоблокировки, которая возникает при повышении уровня блокировки в транзакциях с уровнем изоляции:

1. Repeatable Read.2. Read Committed.3. Serializable.4. Верны варианты 1 и 2.5. Верны варианты 1 и 36. Верны варианты 2 и 3.

Вопрос 6.16
Что такое DDL?

1. Язык манипулирования данными, предназначенный для поддержки базы данных.2. Язык запросов к данным, предназначенный для построения запросов к базе данных.3. Язык управления данными, предназначенный для обеспечения защиты базы данных.4. Язык определения данных, предназначенный для создания, удаления и модификации таблиц базы данных.

Data Definition Language (DDL) (язык описания данных) — это семейство компьютерных языков, используемых в компьютерных программах для описания структуры баз данных.Ссылки:
Wikipedia: Data Definition Language

Вопрос 6.17
Что такое DCL?

1. Язык определения данных, предназначенный для создания, модификации и удаления таблицы или базы данных.2. Язык управления данными, предназначенный для обеспечения защиты базы данных.3. Язык манипулирования данными, предназначенный для поддержки базы данных.4. Язык запросов к данным, предназначенный для построения запросов к базе данных.

Data Control Language (DCL) — подмножество языка управления базами данных SQL, предназначенное для осуществления административных операций, присваивающих или отменяющих право (привилегию) использовать базу данных, таблицы и другие объекты базы данных, а также выполнять те или иные операторы SQL.Ссылки:
Wikipedia: Data Control Language

Вопрос 6.18
Что такое DML?

1. Семейство компьютерных языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных.2. Семейство компьютерных языков, предназначенных для построения запросов к базе данных.3. Семейство компьютерных языков, предназначенных для создания, удаления и модификации таблиц базы данных.4. Семейство компьютерных языков, предназначенных для обеспечения защиты базы данных.

Data Manipulation Language (DML) (язык управления (манипулирования) данными) — это семейство компьютерных языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных.Ссылки:
Wikipedia: Data Manipulation Language

Вопрос 6.19
План запроса нужен для:

1. передачи запроса с сервера приложений 1С на сервер СУБД.2. выбора, каким способом будет выполняться запрос 1С на СУБД.3. анализа статистики, актуальности и количества данных в СУБД для формирования запроса.4. формирования последовательности операций, необходимых для получения результата запроса в СУБД.

Вопрос 6.20
Информацию о каких событиях рекомендуется получить в трассировке SQL Profiler для того, чтобы получить текстовый и графический план запроса, текст запроса, длительность выполнения?

1. SQL:BatchCompleted, RPC:Completed, Showplan Statistic Profile, Showplan XML.2. SQL:StmtCompleted, RPC:Starting, Showplan Statistic Profile, Showplan XML3. SQL:BatchCompleted, RPC:Completed, Showplan Statistic Profile, Showplan XML Statistic Profile.4. SQL:BatchCompleted, RPC:Completed, SQL:FullTextQuery.

Вопрос 6.21
Чем отличаются события Showplan XML и Showplan XML Statistic Profile?

1. Showplan XML не содержит важной для нас информации о фактическом количестве строк и количестве выполнений операторов.2. Showplan XML — скомпилированный план запроса, полученный до выполнения по этому плану, Showplan XML Statistic Profile — план, включающий реальную статистику после выполнения запроса по этому плану.3. Showplan XML Statistic Profile — скомпилированный план запроса, полученный до выполнения по этому плану, Showplan XML — план, включающий реальную статистику после выполнения запроса по этому плану.4. Showplan XML Statistic Profile и Showplan XML эквивалентны5. Верны ответы 1 и 3.

Вопрос 6.22
Чем отличаются события Showplan XML и Showplan XML for Query Compile?

1. Showplan XML — показывается перед каждым выполнением запроса, Showplan XML for Query Compile — показывается после выполнения запроса2. Showplan XML — показывается перед каждым выполнением запроса, Showplan XML for Query Compile — не показывается при повторном исполнении, т.к. план берется из кэша.3. Showplan XML — показывает ожидаемую информацию, Showplan XML for Query Compile — фактическую.4. Showplan XML и Showplan XML for Query Compile эквивалентны5. Верны ответы 1 и 3.

Вопрос 6.23
Чем отличается Nested loops от Hash join?

1. Nested loops соединяет таблицы вложенным циклами, Hash join соединяет таблицы хешированием неотсортированных таблиц.2. Nested loops соединяет таблицы слиянием, Hash join вложенными циклами.3. Nested loops всегда менее предпочтителен, чем Hash join.4. Nested loops соединяет таблицы вложенными циклами, Hash join слиянием больших хешированных таблиц.

Вопрос 6.24
Как происходит соединение хешированием?

1. • Таблица table2 сканируется и размещается в хеш-таблице.• Значения из таблицы table1 отбираются по хеш-таблице.2. • Обе таблицы сканируются и размещаются в хеш-таблице.• Происходит сортировка и усечение итоговой таблицы.3. Одновременно считываются и сравниваются два отсортированных входных потока, по одной строке за шаг. На каждом из этих шагов происходит сравнение со следующей строкой входного потока по хеш-функции. Если хеши равны, выводится присоединяемая строка, и процесс продолжается дальше. Если строки не равны, исключается меньшее из двух входных значений, и процесс продолжается.

Вопрос 6.25
Как происходит соединение слиянием?

1. • Таблица table2 сканируется, строки размещаются в таблице слияний.• Значения из таблицы table1 отбираются по таблице слияний.2. • Обе таблицы сканируются и размещаются в таблице слияний.• Происходит сортировка и усечение итоговой таблицы.3. Одновременно считываются и сравниваются два отсортированных входных потока, по одной строке за шаг. На каждом из этих шагов происходит сравнение со следующей строкой входного потока. Если строки равны, выводится присоединяемая строка, и процесс продолжается дальше. Если строки не равны, исключается меньшее из двух входных значений, и процесс продолжается.

Вопрос 6.26
Как происходит соединение вложенными циклами?

1. Сравнивается каждая строка одной таблицы (называемой внешней таблицей) с каждой строкой другой таблицы (называемой внутренней таблицей), ищутся те строки, которые удовлетворяют предикату соединения.2. • Таблица (называемая внешней таблицей) сканируется, строки размещаются в итоговой таблице.• Значения из таблицы (называемой внутренней таблицей) отбираются циклом по итоговой таблице.3. Таблицы (внутренняя и внешняя) сортируются, затем считываются и сравниваются два отсортированных входных потока, по одной строке за шаг. На каждом из этих шагов происходит сравнение со следующей строкой входного потока. Если строки равны, выводится присоединяемая строка, и цикл возвращается на начало внутренней таблицы. Если строки не равны, исключается меньшее из двух входных значений, и процесс продолжается.

Вопрос 6.27
Чем отличается Merge join от Nested loops?

1. Merge join соединяет отсортированные таблицы слиянием, а Nested loops соединяет таблицы вложенными циклами.2. Merge join соединяет таблицы хешированием, а Nested loops соединяет виртуальные таблицы.3. Merge join соединяет таблицы хешированием, а Nested loops соединяет таблицы вложенными циклами.4. Merge join соединяет реальные таблицы, а Nested loops — виртуальные таблицы и вложенные запросы.

Вопрос 6.28
К каким негативным последствиям может привести запрос, который содержит соединения с подзапросами?

1. Запрос может выполняться крайне медленно.2. При выполнении таких запросов могут возникнуть управляемые взаимоблокировки.3. Негативных последствий нет. Запросы, содержащие соединения с подзапросами (особенно в динамических списках), использовать можно и нужно.4. Верны варианты 1 и 2.

Вопрос 6.29
Почему не рекомендуется использовать соединения с подзапросами?

 1. Оптимизатор сервера СУБД предполагает, что временная таблица не проиндексирована, и поэтому может ошибиться с выбором плана.2. Оптимизатор сервера СУБД предполагает, что вернется большое количество записей.3. Оптимизатор сервера СУБД не всегда может правильно оптимизировать такой запрос, ему может быть трудно понять какое количествозаписей может быть возвращено в подзапросе. В этом случае СУБД может ошибиться с планом запроса.4. Верны варианты 1 и 3.

Вопрос 6.30
Если неоптимальный длительно выполняющийся запрос использует соединения с подзапросами, то его следует переписать с использованием:

1. виртуальных таблиц (заменив подзапросы виртуальными таблицами)2. запросов в цикле (заменив подзапросы запросами в цикле)3. временных таблиц (заменив подзапросы временными таблицами)4. конструкции Объединить5. конструкции Выразить()

Вопрос 6.31
Если в неоптимальном медленно выполняющемся запросе используется соединение с виртуальной таблицей, то следует вынести такое обращение к виртуальной таблице в отдельный запрос:

1. с соединением с подзапросом.2. с условием «ГДЕ»3. с использованием ВЫРАЗИТЬ4. с записью результата во временную таблицу.5. с группировкой по полям соединения.

Вопрос 6.32
Для оптимизации запроса с получением данных через точку от полей составного типа рекомендуется:

1. в запросе использовать условие «ИЛИ».2. в запросе использовать условие «ОБЪЕДИНИТЬ».3. в запросе использовать условие «ВЫБОР», а затем фильтр «ВЫРАЗИТЬ».4. вынести такое получение в отдельный запрос с выводом результата во временную таблицу, в добавленном запросе использовать фильтр «ГДЕ».

Вопрос 6.33
Если в запросе используется получение данных через точку от полей составного типа, то при выполнении такого запроса будет выполняться соединение:

1. с временными таблицами по индексами.2. с таблицами объектов, входящих в составной тип.3. со строками объектов, входящих в составной тип.4. с подзапросами.5. с проиндексированными таблицами объектов, входящими в составной тип.

Вопрос 6.34
Какие основные причины неоптимальных запросов?

1. Соединения с подзапросами, соединения с виртуальными таблицами, несоответствие индексов и условий запросов, использование подзапросов в условии соединения, получение данных через точку от полей составного типа, фильтрация виртуальных таблиц без использования параметров, условия, не предполагающие поиск по индексу («ИЛИ», «не равно» и пр.).2. Соединение с подзапросами, соединения с виртуальными таблицами, использование подзапросов в условии соединения, получение данных через точку от полей составного типа, соединения с временными таблицами, не использующие индексы.3. Соединение с подзапросами, соединения с временными таблицами, несоответствие индексов и условий запросов, использование подзапросов в условии соединения, получение данных через точку от полей составного типа , фильтрация виртуальных таблиц без использования параметров, условия, не предполагающие поиск по индексу («ИЛИ», «не равно» и пр.).4. Соединение с подзапросами, соединения с условием в запросе «ГДЕ», несоответствие индексов и условий запросов, использование подзапросов в условии соединения, получение данных через точку от полей составного типа , фильтрация виртуальных таблиц без использования параметров.

Вопрос 6.35
Подходящим является индекс, удовлетворяющий следующим требованиям:

1. индекс содержит все поля перечисленные в условии.2. индекс является кластерным или уникальным.3. поля, перечисленные в условии, идут подряд, между ними не «вклиниваются» поля, не участвующие в условии запроса.4. должны выполняться условия 1 и 3.5. должны выполняться условия 2 и 3.6. должны выполняться условия 1, 2 и 3.

Вопрос 6.36
Каковы критерии неоптимального запроса?

1. Медленное выполнение запроса при слабой нагрузке на оборудование.2. Возникновение избыточных блокировок.3. Значительная разница по времени выполнения запроса на разных СУБД.4. Повышенная чувствительность запроса к актуальности и полноте статистик.5. Нестабильная работа запроса. При некоторых условиях запрос может работать достаточно быстро, при других — очень медленно.6. Все варианты верны.

Вопрос 6.37
Чем JOIN отличается от UNION?

1. JOIN добавляет столбцы в результирующую таблицу, а UNION добавляет таблицу с тем же составом столбцов.2. При JOIN полностью одинаковые строки заменяются одной, на что затрачивается дополнительное время, даже в случаях, когда одинаковых строк в запросах заведомо быть не может. При UNION такого не происходит.3. JOIN соединяет временные таблицы, а UNION персистентные таблицы.

Вопрос 6.38
Чем UNION отличается от UNION ALL?

1. при UNION ALL полностью одинаковые строки заменяются одной, на что затрачивается дополнительное время, даже в случаях, когда одинаковых строк в запросах заведомо быть не может.2. при UNION полностью одинаковые строки заменяются одной, на что затрачивается дополнительное время, даже в случаях, когда одинаковых строк в запросах заведомо быть не может.3. UNION добавляет столбцы в результирующую таблицу, а UNION ALL добавляет таблицу с тем же составом столбцов.

Вопрос 6.39
Выберите правильный вариант запроса с SELECT:

1. select * from dbo._document180 where _number like ‘ТД00%’ order by _number2. select * from dbo._document180._VT15557 into #tt1 where _number like ‘ТД00%’ order by _number3. select * from dbo._document180 having _number eq ‘ТД00%’ order by _number

Вопрос 6.40
Выберите правильный вариант запроса с DELETE:

1. delete * from dbo._document180 where _number = ‘ТД00-000003’2. delete from dbo._document180 where _number = ‘ТД00-000003’ order by _number3. delete from dbo._document180 where _number = ‘ТД00-000003’

Вопрос 6.41
Выберите правильный вариант запроса с UPDATE:

1. update dbo._document180 set _number = ‘ТД00-000003’ where _number= ‘ТД00-000002’2. update * dbo._document180 set _number = ‘ТД00-000003’ where _number= ‘ТД00-000002’ order by _number3. update dbo._document180 where _number= ‘ТД00-000002’

Вопрос 6.42
Выберите правильный вариант запроса с UNION:

1. select * from dbo._document180 where _number like ‘ТД00%’ order by _number union all select * from dbo._document182 where _number like ‘ТД00%’ order by _number2. select _number, posted from dbo._document180 where _number like ‘ТД00%’ union all select _number, posted from dbo._document182 order by _number3. select _number, posted, _date_time from dbo._document180 where _number like ‘ТД00%’ union all select _number, posted from dbo._document182 where _number like ‘ТД00%’ order by _number

Вопрос 6.43
Выберите правильный вариант запроса с JOIN:

1. select * from dbo.document180 inner join dbo.document180_vt4131 on dbo.document180._idrref = dbo.document180_vt4131._idrref where dbo.document180._number like ‘ТД00%’2. select * from dbo.document180 where dbo.document180._number like ‘ТД00%’ inner join dbo.document180_vt4131 on dbo.document180._idrref = dbo.document180_vt4131._idrref3. select * from dbo.document180 outer join dbo.document180_vt4131 on dbo.document180._idrref = dbo.document180_vt4131._idrref where dbo.document180._number like ‘ТД00%’4. верны варианты 1 и 3.

Вопрос 6.44
Чтобы найти длительный запрос Oracle, получение какого события следует прописать в файле настроек технологического журнала?

1. DBMSSQL с фильтром по полю Duration.2. EXCP.3. DBORACLE.4. VRSREQUEST с фильтром по полю Duration.

Вопрос 6.45
Чтобы найти длительный запрос DB2, получение какого события следует прописать в файле настроек технологического журнала?

1. DBMSSQL с фильтром по полю Duration2. EXCP3. DB24. DBIBMDB2

Вопрос 6.46
Чтобы найти длительный запрос PostgreSQL, получение какого события следует прописать в файле настроек технологического журнала?

1. DBMSSQL с фильтром по полю Duration.2. EXCP.3. DBPOSTGRS.4. DBV8DBEng с фильтром по полю Duration.

Вопрос 6.47
Чтобы найти длительный запрос к файловой базе, получение какого события следует прописать в файле настроек технологического журнала?

1. DBMSSQL с фильтром по полю Duration.2. EXCP.3. VRSREQUEST с фильтром по полю Duration.4. DBV8DBEng.

Вопрос 6.48
Чтобы найти длительный запрос к внешнему источнику данных, получение какого события следует прописать в файле настроек технологического журнала?

1. DBMSSQL с фильтром по полю Duration.2. EDS.3. EXCP.4. VRSREQUEST с фильтром по полю Duration.5. DBV8DBEng.

7. Индексы

Вопрос 7.1
Структуру индексов регистра сведений можно определить:

1. с помощью Конфигуратора. Индексы всегда строятся по порядку следования индексированных измерений.2. в режиме 1С:Предприятия, использовав функцию глобального контекста «ПолучитьСтруктуруХраненияБазыДанных».3. с помощью консоли кластера 1С.4. с помощью ЦУП.

Посмотреть, какие индексы создаются на конкретной информационной базе, можно с помощью метода глобального контекста ПолучитьСтруктуруХраненияБазыДанных().Источники:
ИТС: Оптимизация запросов
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.84

Вопрос 7.2
Для периодического регистра сведений, в т.ч. подчиненного регистратору, кластерным индексом является (кроме регистров с периодичностью «по позиции регистратора») для 8.3:

1. [Измерение 1] + [Измерение 2 + …] + [Хэш-функция разделителей | Независимый разделитель 1]2. [Хэш-функция разделителей | Независимый разделитель 1 + ] Период + [Измерение 1 + …]3. [Регистратор] + [Измерение 1 + …]4. [Хэш-функция разделителей | Независимый разделитель 1 + ] [Измерение 1 + …] + Период5. Период + [Регистратор] + [НомерСтроки]6. [Хэш-функция разделителей | Независимый разделитель 1 + ] Период + [Регистратор + Измерение 1 +…]

Кластерные индексы для регистра сведений, подчиненного регистратору:
  • непериодический [ОРРХ | ОРНР1 +] + Регистратор + НомерСтроки
  • периодичность любая, кроме подчинения регистратору:
    1. Если есть хоть одно измерение: [ОРРХ | ОРНР1 +] + [Измерение 1 + …] + Период + Активность
    2. Если нет измерений, то кластерный индекс не создается.
  • периодичность по позиции регистратора: [ОРРХ | ОРНР1 +]  [Измерение 1 + …] + Период + Регистратор + НомерСтроки + Активность

Вопрос 7.3
Для периодического регистра сведений, подчиненного регистратору, с периодичностью «по позиции регистратора» кластерным индексом является:

1. [Измерение 1] + [Измерение 2 + …]2. Период + [Измерение 1 + …] + Регистратор3. [Хэш-функция разделителей | Независимый разделитель 1 + ] Регистратор + Период + [Измерение 1 + …]4. [Измерение 1]5. [Хэш-функция разделителей | Независимый разделитель 1 + ] [Измерение 1 + …] + Период + Регистратор + НомерСтроки6. [Последовательность независимых разделителей + ] Регистратор + Период + НомерСтроки

Кластерные индексы для регистра сведений, подчиненного регистратору:
  • непериодический [ОРРХ | ОРНР1 +] + Регистратор + НомерСтроки
  • периодичность любая, кроме подчинения регистратору:
    1. Если есть хоть одно измерение: [ОРРХ | ОРНР1 +] + [Измерение 1 + …] + Период + Активность
    2. Если нет измерений, то кластерный индекс не создается.
  • периодичность по позиции регистратора: [ОРРХ | ОРНР1 +]  [Измерение 1 + …] + Период + Регистратор + НомерСтроки + Активность

Вопрос 7.4
Кластерный индекс для баз на платформе 8.3 и СУБД MS SQL Server периодического регистра сведений, подчиненного регистратору, начинается с (если нет общих реквизитов, являющихся разделителями):

1. регистратора2. первого измерения3. периода4. номера строки5. регистратора или периода, в зависимости от того, что указано «периодом».

Кластерные индексы для регистра сведений, подчиненного регистратору:
  • непериодический [ОРРХ | ОРНР1 +] + Регистратор + НомерСтроки
  • периодичность любая, кроме подчинения регистратору:
    1. Если есть хоть одно измерение: [ОРРХ | ОРНР1 +] + [Измерение 1 + …] + Период + Активность
    2. Если нет измерений, то кластерный индекс не создается.
  • периодичность по позиции регистратора: [ОРРХ | ОРНР1 +]  [Измерение 1 + …] + Период + Регистратор + НомерСтроки + Активность

Вопрос 7.5
Для ведущего измерения регистра сведений 1С возможность включения индексирования в Конфигураторе отключена. Это означает, что:

1. индексы аналогичны и создаются автоматически.2. всегда такой индекс [Ведущее Измерение] создаётся автоматически только, если указано свойство «Индексировать»3. индекс [Ведущее Измерение +Измерение1] создается автоматически и является кластерным.4. всегда такой индекс [Ведущее Измерение +Измерение1] + [Измерение2 + …] создается автоматически.

Индексировать – для измерений свойство доступно для редактирования, если измерение не является ведущим. Для измерений, ресурсов и реквизитов с установленным свойством Индексировать создается отдельный индекс, что увеличивает производительность при работе с регистром. Для ведущих измерений индекс создается всегда.Источники:
ИТС: 1С:Предприятие 8.3.7. Документация

Вопрос 7.6
Для периодического регистра сведений всегда будет создаваться индекс:

1. по периоду.2. по первому измерению.3. по всем измерениям.4. по ресурсу.5. по регистратору.

Индекс по периоду для периодического регистра сведений создается всегда. Можно увидеть по «_ByPeriod_» в наименовании индекса.

Вопрос 7.7
Для чего нужны индексы?

1. Индексы нужны для идентификации объектов.2. Индексы повышают производительность поиска и сортировки данных.3. Индексы повышают производительность СУБД.4. Индексы повышают скорость при записи и удалении данных в СУБД.5. Верны ответы 2 и 4.6. Верны ответы 2 и 3.

Вопрос 7.8
Какие индексы создаются средствами платформы?

1. Индексы, создаваемые неявным образом при создании объектов конфигурации, а также при тех или иных настройках объектов конфигурации.2. Индексы, создаваемые явным образом (например, включением свойства «Индексировать»).3. Кластерные и некластерные индексы.4. Верны ответы 1 и 2.5. Верны ответы 1, 2 и 3.

Вопрос 7.9
Что такое кластеризованный индекс?

1. Индекс, кроме ключевых столбцов, дополнительно содержащий еще и неключевые.2. Индекс, содержащий значения ключа индекса, и каждая запись значения ключа содержит указатель на строку данных, содержащую значение ключа.3. Индекс, обеспечивающий отсутствие повторяющихся значений ключа индекса.4. Индекс, по которому отсортированы и хранятся строки данных в таблицах.

Кластеризованный индекс сортирует и хранит строки данных таблицы или представления в порядке, определяемом ключом кластеризованного индекса.Кластеризованный индекс реализуется в виде сбалансированного дерева, которое поддерживает быстрое получение строк по значениям ключа кластеризованного индекса.Источники:
MSDN: Индексы

Вопрос 7.10
Чем кластеризованный индекс отличается от кластерного?

1. Кластерный индекс является уникальным, кластеризованный — нет.2. Кластерный индекс хранится по кластерам, кластеризованный — по страницам.3. Кластерный индекс строится более чем по одной колонке, кластеризованный — ровно по одной.4. Это одно и то же.

Вопрос 7.11
Что такое уникальный индекс?

1. Индекс, кроме ключевых столбцов, дополнительно содержащий еще и неключевые.2. Индекс, содержащий значения ключа индекса, и каждая запись значения ключа содержит указатель на строку данных, содержащую значение ключа.3. Индекс, обеспечивающий отсутствие повторяющихся значений ключа индекса.4. Индекс, по которому отсортированы и хранятся строки данных в таблицах.

Уникальный индекс обеспечивает отсутствие повторяющихся значений ключа индекса, что, в свою очередь, приводит к тому, что каждая строка в таблице или представлении является в каком-то смысле уникальной.Как кластеризованные, так и некластеризованные индексы могут быть уникальными.Источники:
MSDN: Индексы

Вопрос 7.12
Кластерный индекс:

1. всегда уникальный.2. всегда неуникальный.3. может быть как уникальным, так и не уникальным (обеспечивается СУБД путем добавления служебных данных).

Как кластеризованные, так и некластеризованные индексы могут быть уникальными.Источники:
MSDN: Индексы

Вопрос 7.13
Уникальный индекс:

1. всегда кластерный.2. всегда некластерный.3. может быть либо кластерным, либо не кластерным.4. может быть кластерным и не кластерным одновременно.

Как кластеризованные, так и некластеризованные индексы могут быть уникальными.Источники:
MSDN: Индексы

Вопрос 7.14
В чем отличие кластерного индекса от некластерного?

1. Кластерные индексы сортируют и хранят строки данных в таблицах или представлениях на основе их ключевых значений, некластерные не трогают сами таблицы.2. Строки данных в таблице хранятся в порядке сортировки исключительно в том случае, если таблица содержит кластерный индекс.3. Если в пустую таблицу, не имеющую кластерного индекса, но имеющую некластерный, загрузить отсортированные в порядке этого индекса данные, ее какое-то время можно рассматривать как имеющую кластерный индекс.4. Верны все ответы.

Кластеризованный
  • Кластеризованные индексы сортируют и хранят строки данных в таблицах или представлениях на основе их ключевых значений. Этими значениями являются столбцы, включенные в определение индекса. Существует только один кластеризованный индекс для каждой таблицы, потому что строки данных могут быть отсортированы только в единственном порядке.
  • Строки данных в таблице хранятся в порядке сортировки только в том случае, если таблица содержит кластеризованный индекс. Если у таблицы есть кластеризованный индекс, то таблица называется кластеризованной. Если у таблицы нет кластеризованного индекса, то строки данных хранятся в неупорядоченной структуре, которая называется кучей.
Некластеризованный
  • Некластеризованные индексы имеют структуру, отдельную от строк данных. В некластеризованном индексе содержатся значения ключа некластеризованного индекса, и каждая запись значения ключа содержит указатель на строку данных, содержащую значение ключа.
  • Указатель из строки индекса в некластеризованном индексе, который указывает на строку данных, называется указателем строки. Структура указателя строки зависит от того, хранятся ли страницы данных в куче или в кластеризованной таблице. Для кучи указатель строки является указателем на строку. Для кластеризованной таблицы указатель строки данных является ключом кластеризованного индекса.
  • Можно добавить неключевые столбцы на конечный уровень некластеризованного индекса и обойти существующее ограничение на ключи индексов (900 байт и 16 ключевых столбцов) и выполнять полностью индексированные запросы.
Источники:
MSDN: Описания кластеризованных и некластеризованных индексов

Вопрос 7.15
Обязательно ли наличие индексов?

1. Нет.2. Если есть хотя бы один индекс, он должен быть кластерным.3. Если есть хотя бы один индекс, он должен быть некластерным.4. Если есть больше одного индекса, ровно один из них должен быть некластерным.5. Если есть больше одного индекса, ровно один из них должен быть кластерным.6. Верны ответы 1 и 4.

Вопрос 7.16
Индексирование первого измерения регистра, если это измерение имеет составной тип:

1. бессмысленно.2. оправданно.3. может улучшить план запроса.4. первое измерение регистра не рекомендуется делать составного типа.

Вопрос 7.17
Чем B-tree отличается от Binary tree?

1. Это одно и то же.2. B-tree обязательно сбалансировано, Binary tree — не обязательно.3. B-tree, в отличие от Binary tree, может иметь высокую ветвистость.4. В-tree это обобщение Binary search tree.5. Верны ответы 2 и 3.6. Верны ответы 2, 3 и 4.

Подробнее о деревьях можно прочитать здесь.

Вопрос 7.18
Двоичное дерево поиска (binary search tree) это двоичное дерево, у которого:

1. оба поддерева — левое и правое — являются двоичными деревьями поиска.2. у всех узлов левого поддерева произвольного узла X значения ключей данных меньше, нежели значение ключа данных самого узла X.3. у всех узлов правого поддерева произвольного узла X значения ключей данных больше, нежели значение ключа данных самого узла X.4. значение в любой вершине не меньше, чем значения её потомков.5. наличествуют свойства 1 и 4.6. наличествуют свойства 1, 2 и 3.

Подробнее о деревьях можно прочитать здесь.

Вопрос 7.19
Двоичная куча (binary heap) это двоичное дерево, у которого:

1. уровни, исключая, возможно, последний, заполнены полностью; последний уровень, если заполнен не полностью, то заполняется слева направо без пропусков.2. левые потомки в обязательном порядке меньше правых.3. значение в любой вершине всегда для конкретного дерева либо не меньше, чем значения её потомков, либо не больше.4. значения в любой вершине никак не упорядочены ни с предками, ни с потомками.5. наличествуют свойства 1 и 2.6. наличествуют свойства 1 и 3.

Подробнее о деревьях можно прочитать здесь.

Вопрос 7.20
Структура внутренних и листовых страниц B-tree:

1. обычно различается.2. всегда совпадает.3. как правило, совпадает.4. всегда различается.

Подробнее о деревьях можно прочитать здесь. Индексы-B-деревья в PostgreSQL представляют собой многоуровневые иерархические структуры, в которых каждый уровень дерева может использоваться как двусвязный список страниц. Единственная метастраница индекса хранится в фиксированной позиции в начале первого файла сегмента индекса. Все остальные страницы делятся на внутренние и на листовые. Листовые страницы находятся на самом нижнем уровне дерева. Все более высокие уровни состоят из внутренних страниц. Листовая страница содержит кортежи, указывающие на строки в таблице, а внутренняя страница — кортежи, указывающие на следующий уровень в дереве. Обычно листовые страницы составляют около 99% всех страниц индекса. И для тех, и для других страниц используется один стандартный формат, описанный в Разделе 69.6.

Вопрос 7.21
Что такое ссылочная целостность?

1. качество реляционной базы данных, заключающееся в отсутствии в любой её таблице (отношении) внешних ключей, ссылающихся на несуществующие кортежи.2. наличие первичных ключей во всех таблицах.3. качество реляционной базы данных, заключающееся в отсутствии в любой её таблице (отношении) первичных ключей, ссылающихся на несуществующие кортежи.4. наличие непустых внешних ключей во всех таблицах.

Ссылочная целостность (англ. referential integrity) — необходимое качество реляционной базы данных, заключающееся в отсутствии в любом её отношении внешних ключей, ссылающихся на несуществующие кортежи.Источники:
Wikipedia: Ссылочная целостность

Вопрос 7.22
Что такое кортеж?

1. упорядоченный набор фиксированной длины.2. упорядоченный набор неограниченной длины.3. совокупность наборов, связанных общим свойством.4. регламент обработки наборов.

Кортеж — упорядоченный набор фиксированной длины.Источники:
Wikipedia: Кортеж

Вопрос 7.23
Что такое внешний ключ (foreign key)?

1. Совокупность атрибутов таблицы (отношения), совпадающий по типам атрибутов (и при возможности переименования — по именам) с потенциальным ключом другой или этой же таблицы (отношения).2. Ключ индекса во внешнем источнике данных.3. Поле, по которому можно строить дополнительный индекс.4. Потенциальный ключ таблицы (отношения), совпадающий по типам атрибутов (и при возможности переименования — по именам) с потенциальным ключом другой или этой же таблицы (отношения).5. Верны ответы 1 и 2.6. Верны ответы 3 и 4.

Внешний ключ (FK) — это столбец или сочетание столбцов, которое применяется для принудительного установления связи между данными в двух таблицах. Внешний ключ можно создать, определив ограничение FOREIGN KEY при создании или изменении таблицы.Источники:
MSDN: Внешний ключ

Вопрос 7.24
Какие требования предъявляются к потенциальному ключу в реляционной модели данных?

1. Уникальности.2. Минимальности (несократимости).3. Сортированности.4. Избыточности.5. Требования 1 и 2.6. Требования 2, 3, 4.

Потенциальный ключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованиям уникальности и минимальности (несократимости).Источники:
Wikipedia: Потенциальный ключ

Вопрос 7.25
Что такое целостность базы данных (database integrity)?

1. соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам.2. соответствие фактов, хранящихся в базе данных, реальному миру.3. отсутствие сбойных секторов на диске с резервной копией базы.4. необходимое качество реляционной базы данных, заключающееся в отсутствии в любом её отношении внешних ключей, ссылающихся на несуществующие кортежи.

Целостность базы данных (database integrity) — соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам.Источники:
Wikipedia: Целостность базы данных

Вопрос 7.26
Что такое первичный ключ (primary key)?

1. Один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию) — который наиболее удобен для тех или иных практических целей, и с наибольшей вероятностью не утратит уникальность со временем.2. Ключ, состоящий из единственного атрибута, наиболее подходящий для создания кластерного индекса.3. Ключ, который зависит от одного или более полей своей таблицы, и его значение формируется на основе значений этих полей.4. Дополнительное служебное поле, добавленное к уже имеющимся информационным полям таблицы. Значение этого поля не образуется на основе каких-либо других данных из БД, а генерируется искусственно.

Первичный ключ (англ. primary key) — в реляционной модели данных один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию).Источники:
Wikipedia: Первичный ключ

Вопрос 7.27
Часть индексов могут содержать значения хэш-функции значений разделителей. Когда такое используется?

1. Если справочник разделяется одним независимым разделителем, тип которого не Строка.2. Если тип разделителя — Строка, или разделитель независимый и совместный, или разделителей больше одного.3. Если тип разделителя — не Строка, или разделитель независимый и совместный, или разделителей больше одного.4. Всегда.5. Такое не используется.6. Когда в индекс входят поля независимых разделителей.

Если справочник разделяется одним независимым разделителем, тип которого не Строка, то индекс содержит поле этого разделителя.
Если тип разделителя — Строка, или разделитель независимый и совместный, или разделителей больше одного, то индекс содержит поле значения хэш-функции значений разделителей.
Это правило справедливо для всех индексов, в составе которых указано [ОРРХ | ОРНР1 +].
Источники:
ИТС: Индексы таблиц базы данных

Вопрос 7.28
Как можно увидеть, включен ли общий реквизит в состав индекса?

1. С помощью MS SQL Management Studio.2. Необходимо выполнить метод встроенного языка ПолучитьСтруктуруХраненияБазыДанных()3. Невозможно увидеть, включен ли общий реквизит в состав индекса4. Верны ответы 1 и 2.

При использовании функции ПолучитьСтруктуруХраненияБазыДанных() есть нескольких важных вещей:
  1. Для всех объектных типов данных (справочники, документы и т. д.) в базе автоматически определяется кластерный индекс по полю Ссылка. И вот его в этой таблице вы не увидите, но про него надо просто помнить.
  2. При использовании общего реквизита к большинству индексов первым столбцом ключа индекса добавляется DataSeparationHash. Этого факта, к сожалению, через ПолучитьСтруктуруХраненияБазыДанных() вы тоже не увидите, и про него тоже надо помнить.
  3. Также в этой таблице вы не увидите индекса simplekey для регистра сведений, но он для наших целей важности не имеет.
Иточники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.86

Вопрос 7.29
Общий реквизит, последовательность общих реквизитов, хэш-функция общих реквизитов включаются в состав индекса:

1. первым полем (полями).2. последним полем (полями).3. первым или последним полем (полями), в зависимости от того, о какой таблице идет речь.4. любым полем (полями), в зависимости от того, о какой таблице идет речь.

Вопрос 7.30
Если в конфигурации используется более одного общего реквизита, являющихся независимыми разделителями (ОРНР):

1. в часть индексов включается их последовательность (ОРНР1 + ОРНР2+… +)2. в индексы включается только первый (в дереве конфигурации) из общих реквизитов3. в индексы включается только их хэш-функция4. в часть индексов включается их хэш-функция5. верны ответы 1 и 46. верны ответы 2 и 4

Если справочник разделяется одним независимым разделителем, тип которого не Строка, то индекс содержит поле этого разделителя.
Если тип разделителя — Строка, или разделитель независимый и совместный, или разделителей больше одного, то индекс содержит поле значения хэш-функции значений разделителей.
Это правило справедливо для всех индексов, в составе которых указано [ОРРХ | ОРНР1 +].
Источники:
ИТС: Индексы таблиц базы данных

Вопрос 7.31
Для непериодического регистра сведений, подчиненного регистратору, кластерным индексом является:

1. [Измерение 1] + [Измерение 2 + …]2. Период + [Измерение 1 + …]3. [Хэш-функция разделителей | Независимый разделитель 1 + ] Регистратор + Период + [Измерение 1 + …]4. [Измерение 1]5. [Хэш-функция разделителей | Независимый разделитель 1 + ] Регистратор + НомерСтроки6. [Последовательность независимых разделителей + ] Регистратор + НомерСтроки

Кластерные индексы для регистра сведений, подчиненного регистратору:
  • непериодический [ОРРХ | ОРНР1 +] + Регистратор + НомерСтроки
  • периодичность любая, кроме подчинения регистратору:
    1. Если есть хоть одно измерение: [ОРРХ | ОРНР1 +] + [Измерение 1 + …] + Период + Активность
    2. Если нет измерений, то кластерный индекс не создается.
  • периодичность по позиции регистратора: [ОРРХ | ОРНР1 +]  [Измерение 1 + …] + Период + Регистратор + НомерСтроки + Активность

Вопрос 7.32
Для справочников, документов, планов видов характеристик, планов обменов, планов счетов, планов видов расчета, бизнес-процессов, точек маршрута бизнес-процессов, задач, кластерным индексом является:

1. [Последовательность независимых разделителей + ] Ссылка2. [Последовательность независимых разделителей + ] Код + Ссылка3. [Хэш-функция разделителей | Независимый разделитель 1 + ] Наименование + Ссылка4. [Хэш-функция разделителей | Независимый разделитель 1 + ] Ссылка5. [Хэш-функция разделителей | Независимый разделитель 1 + ] Код + Ссылка

Для всех объектных типов данных (справочники, документы и т. д.) в базе автоматически определяется кластерный индекс по полю Ссылка.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2) стр.86

Вопрос 7.33
Часть индексов могут содержать значения хэш-функции значений разделителей. Что является альтернативой?

1. В конфигурации определен единственный независимый разделитель, тип которого не Строка. Тогда в соответствующих индексах используется его значение.2. В конфигурации определен единственный независимый разделитель, тип которого не Строка. Тогда в соответствующих индексах используется только его хэш-функция.3. В конфигурации определен единственный независимый и совместный разделитель. Тогда в соответствующих индексах используется его значение.4. Альтернативы нет.5. В конфигурации определены только независимые разделители. Тогда в соответствующих индексах вместо хэш-функций используется их последовательность.

Вопрос 7.34
Каким по счету полем разделитель итогов (Splitter) включается в состав индекса?

1. Первым.2. Последним.3. Первым или последним полем, в зависимости от того, о какой таблице идет речь.4. Последним или предпоследним полем, в зависимости от того, о какой таблице идет речь.

Вопрос 7.35
В каком случае разделитель итогов (Splitter) включается в состав индекса?

1. Если для регистра разрешено и включено разделение итогов.2. Если для регистра разрешено разделение итогов, и неважно — включено оно или нет.3. В соответствующих таблицах он есть всегда.

Вопрос 7.36
Как можно увидеть, включен ли разделитель итогов (Splitter) в состав индекса?

1. Через MS SQL Server Management Studio.2. Через ПолучитьСтруктуруХраненияБазыДанных().3. Его нельзя увидеть.4. Верны ответы 1 и 2.

Вопрос 7.37
Применяется ли разделитель итогов (Splitter) в индексе таблицы оборотов регистра накопления?

1. Да, для регистра типа «Обороты».2. Да, для регистра типа «Остатки и обороты».3. Да, для регистра типа «Остатки».4. Нет.5. Верны ответы 1 и 2.

Вопрос 7.38
Применяется ли разделитель итогов (Splitter) в индексе таблицы остатков регистра накопления?

1. Да, для регистра типа «Обороты»2. Да, для регистра типа «Остатки и обороты»3. Да, для регистра типа «Остатки»4. Нет5. Верны ответы 2 и 3

Вопрос 7.39
По какой схеме при индексировании измерения ИзмерениеN регистра накопления, регистра бухгалтерии, регистра сведений с периодичностью «по позиции регистратора» будет создан индекс по таблице движений?

1. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Период + Регистратор + НомерСтроки2. Индексы будут создаваться по разным схемам.3. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Период + Измерение1 + [Измерение2 +…]4. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Измерение1 + [Измерение2 +…]

[ОРРХ | ОРНР1 +] Измерение + Период + Регистратор + НомерСтроки — Если измерению «Измерение» задано свойство «Индексировать».Источники:
ИТС: Индексы таблиц базы данных

Вопрос 7.40
Индексы некоторых регистров содержат поле SimpleKey. Что это?

1. Короткий ключ записи регистра. Поле присутствует у непериодических регистров сведений, имеющих хотя бы одно измерение.2. Короткий ключ записи регистра. Поле присутствует у всех регистров, имеющих хотя бы одно измерение.3. Разделитель итогов.4. Общий реквизит.5. Хэш функция значений измерений регистра.

Вопрос 7.41
Индексы некоторых регистров содержат поле Splitter. Что это?

1. Короткий ключ записи регистра. Поле присутствует у непериодических регистров сведений, имеющих хотя бы одно измерение.2. Короткий ключ записи регистра. Поле присутствует у всех регистров, имеющих хотя бы одно измерение.3. Разделитель итогов.4. Общий реквизит.5. UID записи.

Вопрос 7.42
Некоторые индексы первым полем содержат поле с именем, не относящимся к колонкам таблиц регистра, и не являющимся ни периодом, ни регистратором. В составе имени поля есть «Field». Что это может быть?

1. Короткий ключ записи регистра. Поле присутствует у непериодических регистров сведений, имеющих хотя бы одно измерение.2. Короткий ключ записи регистра. Поле присутствует у всех регистров, имеющих хотя бы одно измерение.3. Разделитель итогов.4. Общий реквизит, являющийся независимым разделителем.5. UID записи.

Вопрос 7.43
Можно ли индексировать ресурсы регистра?

1. Да, у регистров всех типов.2. Нет.3. Можно только у регистра сведений.

Вопрос 7.44
Можно ли индексировать реквизиты регистра?

1. Да, у регистров всех типов.2. Нет.3. Можно только у регистра сведений.

Вопрос 7.45
Что и куда добавится в индекс, создаваемый для реквизита, если для реквизита справочника вместо «Индексировать» задать «Индексировать с доп. упорядочиванием»?

1. Если свойство «Длина кода» не равно 0, а свойство «Основное представление» равно «В виде кода», в индекс по реквизиту войдет «Реквизит + Код» вместо «Реквизит».2. Если свойство «Длина наименования» не равно 0, а свойство «основное представление» равно «В виде наименования», в индекс по реквизиту войдет «Реквизит + Наименование» вместо «Реквизит».3. Если свойство «Длина кода» не равно 0, а свойство «Длина наименования» не равно 0, то в индекс по реквизиту войдет «Реквизит + Код + Наименование» вместо «Реквизит».4. Войдет «Реквизит + Ссылка» вместо «Реквизит».5. Верны ответы 1 и 2.

Вопрос 7.46
Можно ли индексировать измерение регистра?

1. Да, всегда.2. Да, если оно не ведущее.3. Да, если оно не первое.4. Да, если оно не базовое.5. Верны ответы 2 и 4.6. Верны ответы 2, 3, 4.

Вопрос 7.47
По какой схеме при индексировании измерения ИзмерениеN периодического регистра сведений (НЕ с периодичностью «по позиции регистратора») будет создан индекс? ИзмерениеN не первое и не единственное.

1. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Период + Регистратор + НомерСтроки2. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Период + Измерение1 + [Измерение2 +…]3. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Измерение1 + [Измерение2 +…]4. [Последовательность независимых разделителей + ] ИзмерениеN + Измерение1 + [Измерение2 +…]

Вопрос 7.48
По какой схеме при индексировании измерения ИзмерениеN непериодического регистра сведений будет создан индекс? ИзмерениеN не первое и не единственное.

1. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Регистратор + НомерСтроки2. [Последовательность независимых разделителей + ] ИзмерениеN + Измерение1 + [Измерение2 +…]3. [Хэш-функция разделителей | Независимый разделитель 1 + ] ИзмерениеN + Измерение1 + [Измерение2 +…]

Вопрос 7.49
Некоторые индексы первым полем содержат поле с именем DataSeparationHash. Что это может быть? Выберите наиболее точный правильный ответ.

1. Хэш-функция общих реквизитов.2. Хэш-функция общих реквизитов, являющихся разделителями.3. Хэш-функция общих реквизитов, являющихся независимыми и совместными разделителями.


8. Транзакции

Вопрос 8.1
Информационная клиент-серверная система на платформе 1С:8.3 работает в управляемом режиме блокировок данных с включенным режимом совместимости с 8.2. Какие уровни изоляции транзакций при этом будут использоваться в СУБД MS SQL Server?

1. Read Uncommitted, Read Сommitted Snapshot, Read Committed, Repeatable Read, Serializable2. Read Uncommitted, Read Committed, Repeatable Read, Serializable3. Read Uncommitted, Read Сommitted4. Read Uncommitted, Read Сommitted Snapshot5. Read Uncommitted, Repeatable Read, Serializable6. Read Uncommitted, Read Сommitted Snapshot, Snapshot, Read Committed, Repeatable Read, Serializable

Для платформы 8.2 в управляемом режиме блокировок в транзакциях используются уровни изоляции Read Сommitted, при чтении вне транзакций Read Uncommitted.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.41

Вопрос 8.2
Информационная клиент-серверная система на платформе 1С:8.3 работает в управляемом режиме блокировок данных без режима совместимости с 8.2. Какие уровни изоляции транзакций при этом будут использоваться в СУБД MS SQL?

1. Read Uncommitted, Read Сommitted Snapshot, Read Сommitted, Repeatable Read, Serializable2. Read Uncommitted, Read Сommitted, Repeatable Read, Serializable3. Read Uncommitted, Read Сommitted Snapshot4. Read Сommitted Snapshot5. Read Uncommitted, Repeatable Read, Serializable6. Read Uncommitted, Read Сommitted Snapshot, Snapshot, Read Сommitted, Repeatable Read, Serializable

Для платформы 8.3 при использовании в качестве СУБД MS SQL 2005 и выше используется уровень изоляции Read Сommitted Snapshot (как в транзакции, так и вне транзакции).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.41

Вопрос 8.3
Информационная клиент-серверная система на платформе 1С:8.3 работает в автоматическом режиме блокировок данных со снятым режимом совместимости. Какие уровни изоляции транзакций при этом будут использоваться в СУБД MS SQL Sever?

1. Read Uncommitted, Read Сommitted Snapshot, Read Сommitted, Repeatable Read, Serializable2. Read Uncommitted, Read Сommitted, Repeatable Read, Serializable3. Read Uncommitted, Read Сommitted4. Read Uncommitted, Read Сommitted Snapshot5. Read Uncommitted, Repeatable Read, Serializable6. Read Uncommitted, Read Сommitted Snapshot, Snapshot, Read Сommitted, Repeatable Read, Serializable

И для 8.2 и для 8.3 в автоматическом режиме управления блокировок используются уровни изоляции Repeatable Read и Serializable, при чтении вне транзакции Read Uncommitted.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.41

Вопрос 8.4
Информационная клиент-серверная система на платформе 1С:8.3 работает в автоматическом режиме блокировок данных. Какие уровни изоляции транзакций при этом будут использоваться в СУБД MS SQL Server для операций записи?

1. Read Uncommitted для ссылочных данных и Read Сommitted для остальных.2. Read Сommitted для всех данных.3. Repeatable Read для ссылочных типов данных и Serializable для остальных.4. Serializable для всех данных.

Repeatable Read используется для объектных сущностей (все, у чего есть поле Ссылка – справочники, документы и т. п.), Serializable – для необъектных. Платформа исходит из того, что объекты будут искаться по уникальной ссылке, поэтому проблема фантомного чтения для объектов неактуальна (платформа не позволит добавить объект с такой же ссылкой).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.41

Вопрос 8.5
WAL применительно к транзакциям это:

1. протокол журнализации (и управления буферизацией) Write Ahead Log (WAL) — «пиши сначала в журнал».2. протокол журнализации (и управления буферизацией) Write Another Log (WAL) — «пиши другой журнал».3. аббревиатура, расшифровывающаяся как перечень основных свойств транзакции.

WAL — Write Ahead Log, опережающий лог действий с таблицами и индексами. Основная задача — целостность и отказоустойчивость базы данных при одновременном росте производительности.

Вопрос 8.6
Протокол WAL имеет следующий смысл:

1. если во внешней памяти журнала содержится запись о некоторой операции изменения объекта базы данных, то сам измененный объект обязательно находится во внешней памяти базы данных.2. если во внешней памяти базы данных находится некоторый объект базы данных, по отношению к которому выполнена операция модификации, то во внешней памяти журнала может и не быть записи, соответствующей этой операции.3. если во внешней памяти базы данных находится некоторый объект базы данных, по отношению к которому выполнена операция модификации, то во внешней памяти журнала обязательно находится запись, соответствующая этой операции.

Вопрос 8.7
Что такое транзакция?

1. Под транзакцией понимается неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации) такая, что либо результаты всех операторов, входящих в транзакцию, отображаются в БД, либо воздействие всех этих операторов полностью отсутствует.2. Транзакция вообще это минимальная логически осмысленная операция, которая имеет смысл и может быть совершена только полностью.3. Транзакция в информатике это группа логически объединенных последовательных операций по работе с данными, обрабатываемая или отменяемая только неделимыми фрагментами. То есть все изменения данных, вносимые фрагментом транзакции, должны быть либо зафиксированы (COMMIT), либо отменены (ROLLBACK).4. Верны ответы 1 и 2

Транзакция — это неделимая, с точки зрения воздействия на базу данных, последовательность операций манипулирования данными, выполняющаяся по принципу «все или ничего», и переводящая базу данных из одного целостного состояния в другое целостное состояние. Если по каким-либо причинам одно из действий транзакции невыполнимо или произошло какое-либо нарушение работы системы, база данных возвращается в то состояние, которое было до начала транзакции (происходит откат транзакции).Транза́кция (англ. transaction, от лат. transactio — соглашение, договор) — минимальная логически осмысленная операция, которая имеет смысл и может быть совершена только полностью.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8
Wikipedia: Транзакция

Вопрос 8.8
UNDO логи хранят:

1. последовательность действий для отката транзакции.2. список неиспользованных данных.3. старые версии данных.

Вопрос 8.9
Consistency (Согласованность) в ACID

1. гарантирует, что никакая транзакция не будет зафиксирована в системе частично2. является необходимым условием для обеспечения надежности3. обеспечивает отсутствие влияние на результат другими транзакциями4. обозначает, что изменения, сделанные успешно завершенной транзакцией, останутся сохраненными после восстановления системы

Согласованность — по завершении, транзакция должна оставить все данные в согласованном состоянии. В реляционной базе данных к модификациям транзакции должны быть применены все правила для обеспечения целостности всех данных. Все внутренние структуры данных, например индексы сбалансированного дерева или взаимосвязанные списки, должны быть правильными в конце транзакции.Источники:
MSDN: Транзакции

Вопрос 8.10
REDO логи хранят:

1. последовательность действий транзакции, чтобы при необходимости ее повторить.2. новые версии данных.3. список использованных данных.

Вопрос 8.11
Atomicity (Атомарность) в ACID

1. гарантирует, что никакая транзакция не будет зафиксирована в системе частично2. является необходимым условием для обеспечения надежности3. обеспечивает отсутствие влияние на результат другими транзакциями4. обозначает, что изменения, сделанные успешно завершенной транзакцией, останутся сохраненными после восстановления системы

Атомарность — транзакция должна быть атомарной единицей работы; должны быть выполнены либо все входящие в нее модификации данных, либо ни одно из них не должно быть выполнено.Источники:
MSDN: Транзакции

Вопрос 8.12
Уровень изоляции транзакции это:

1. уровень данных (запись, таблица, база), защищаемый транзакцией.2. то, насколько в транзакции допускаются несогласованные данные.3. уровень защиты данных — исключительный или разделяемый.

То, насколько транзакции изолированы друг от друга (обратно – то, насколько в них допускаются несогласованные данные), называется уровнем изоляции транзакций.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.38

Вопрос 8.13
Код на встроенном языке содержит одну транзакцию, вложенную в другую. Какие действия будут отменены в результате выполнения ОтменитьТранзакцию() в коде вложенной транзакции?

1. Т.к. вложенные транзакции технологическая платформа не поддерживает, то в начале вложенной транзакции возникнет ошибка2. Только вложенная транзакция. ОтменитьТранзакцию() во внешней транзакции нужно выполнить отдельно3. Только внешняя транзакция. ОтменитьТранзакцию() во вложенных транзакциях не работает, т.к. они не поддерживаются4. Будут отменены и вложенная, и внешняя транзакция.

1С:Предприятие 8 не поддерживает вложенных транзакций. Это значит, что, фактически, поддерживается только один уровень транзакции. То есть не существует возможности отменить действие транзакции некоторого уровня, не отменяя транзакции вышестоящего уровня.Источники:
ИТС: Вложенность транзакций

Вопрос 8.14
Используется ли при работе с 1С уровень изоляции Repeatable Read?

1. Использовался только до версии 8.3.2. Используется в автоматическом режиме управления блокировками.3. Не используется.4. Используется в управляемом режиме управления блокировками.

Repeatable Read используется только в автоматическом режиме управления блокировками. Независимо от версии платформы.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.41

Вопрос 8.15
База работает в управляемом режиме управления блокировками, используется СУБД MS SQL Server 2012, платформа 8.3 без режима совместимости, все настройки соответствуют настройкам по умолчанию. В одной из транзакций произошла эскалация блокировок СУБД на регистре бухгалтерии «Хозрасчетный». Другая транзакция пытается прочитать данные из этого регистра. Что произойдет?

1. Данные будут прочитаны только после окончания блокирующей транзакции.2. Данные не будут прочитаны, возникнет конфликт блокировок.3. Без ожиданий будет прочитана версия данных, согласованная на момент начала второй транзакции.

Вопрос 8.16
База работает в управляемом режиме управления блокировками, используется СУБД MS SQL Server, платформа 8.2 без режима совместимости, все настройки соответствуют настройкам по умолчанию. В одной из транзакций произошла эскалация блокировок СУБД на регистре бухгалтерии «Хозрасчетный». Другая транзакция пытается прочитать данные из этого регистра. Что произойдет?

1. Данные будут прочитаны только после окончания блокирующей транзакции.2. Данные не будут прочитаны, возникнет конфликт блокировок.3. Без ожиданий будет прочитана версия данных, согласованная на момент начала второй транзакции.4. Возможно развитие события по варианту 1 или 2.5. Возможно развитие события по варианту 1 или 3.

Вопрос 8.17
RCSI для MS SQL Server это:

1. инструмент разработчика.2. уровень изоляции транзакции.3. недокументированная возможность.

RCSI — Read Committed Snapshot Isolation

Вопрос 8.18
Куда записывается снимок при использовании Read Committed Snapshot для MS SQL Server?

1. В оперативную память сервера СУБД.2. В журнал транзакций.3. В базу tempdb.4. В UNDO-лог.

Вопрос 8.19
Какие проблемы решает уровень изоляции Read Committed?

1. Повторяемого чтения.2. Неповторяемого чтения.3. «Грязного» чтения.4. Только проблему фантомов.

Read Committed — подтвержденное чтение, изоляция зафиксированного чтения. «Грязные» чтения невозможны, возможны неповторяемые чтения и фантомы.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.39

Вопрос 8.20
Какие проблемы решает, а какие не решает уровень изоляции Read Uncommitted?

1. Возможны «грязные», неповторяемые чтения и фантомы.2. «Грязные» чтения невозможны, возможны неповторяемые чтения и фантомы.3. «Грязные» и неповторяемые чтения невозможны. Возможны фантомы.4. «Грязные» и неповторяемые чтения, а также фантомы невозможны.

Read Uncommitted — неподтвержденное чтение, изоляция незафиксированного чтения. Возможны «грязные», неповторяемые чтения и фантомы.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.38

Вопрос 8.21
Какие проблемы решает, а какие не решает уровень изоляции Read Committed Snapshot?

1. Возможны «грязные», неповторяемые чтения и фантомы.2. «Грязные» чтения невозможны, возможны неповторяемые чтения и фантомы.3. «Грязные» и неповторяемые чтения невозможны. Возможны фантомы.4. «Грязные» и неповторяемые чтения, а также фантомы невозможны.

Read Committed Snapshot — подтвержденное чтение с включенным параметром READ_COMMITTED_SNAPSHOT). «Грязные» чтения невозможны, возможны неповторяемые чтения и фантомы.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.38

Вопрос 8.22
Какие проблемы решает, а какие не решает уровень изоляции Repeatable Read?

1. Возможны «грязные», неповторяемые чтения и фантомы.2. «Грязные» чтения невозможны, возможны неповторяемые чтения и фантомы.3. «Грязные» и неповторяемые чтения невозможны. Возможны фантомы.4. «Грязные» и неповторяемые чтения, а также фантомы невозможны.

Вопрос 8.23
Используется ли технологической платформой уровень изоляции Snapshot?

1. Да, в автоматическом режиме управления блокировками.2. Да, начиная с 8.3.3. Нет.4. Использовался только в 8.0

Snapshot (изоляция моментального снимка), отдельный уровень изоляции начиная с SQL Server 2005. В «1С» не поддерживается. «Грязные» и неповторяемые чтения невозможны. Фантомы невозможны.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.39

Вопрос 8.24
Какие проблемы решает, а какие не решает уровень изоляции Serializable?

1. Возможны «грязные», неповторяемые чтения и фантомы.2. «Грязные» чтения невозможны, возможны неповторяемые чтения и фантомы.3. «Грязные» и неповторяемые чтения невозможны. Возможны фантомы.4. «Грязные» и неповторяемые чтения, а также фантомы невозможны.

Serializable (упорядоченный, изоляция упорядочиваемых транзакций, сериализуемый, упорядоченные транзакции, сериализуемые транзакции). «Грязные» и неповторяемые чтения, а также фантомы невозможны.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.40

Вопрос 8.25
Что такое проблема потерянного обновления?

1. Если один и тот же блок данных одновременно изменяют две разные транзакции, то будет зафиксировано только одно изменение, второе потеряется.2. Если один и тот же блок данных одновременно изменяют две разные транзакции, то будут зафиксированы оба изменения.3. Если один и тот же блок данных последовательно изменяют две разные транзакции, то будет зафиксировано только одно изменение, второе потеряется.4. Если один и тот же блок данных последовательно изменяют две разные транзакции, то будут зафиксированы оба изменения.

Потерянное обновление (англ. lost update) – если один и тот же блок данных одновременно изменяют две разные транзакции, то будет зафиксировано только одно изменение, второе потеряется (при работе «1С» невозможно, поскольку в «1С» не бывает записи вне транзакции).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.38

Вопрос 8.26
Что такое проблема «грязного» чтения?

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

«Грязное» чтение (англ. dirty read) – чтение данных, добавленных или измененных транзакцией, может дать неточный результат, потому что та транзакция впоследствии не подтвердится (откатится).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.38

Вопрос 8.27
Что такое проблема неповторяющегося чтения?

1. При повторном чтении в рамках одной и той же транзакции оказывается, что ранее прочитанные данные изменены или удалены.2. Чтение данных, добавленных или измененных транзакцией, в другой транзакции может дать не точный результат, потому что та транзакция может поменять их еще раз.3. Чтение данных, добавленных или измененных транзакцией, может дать не точный результат, потому что та транзакция впоследствии не подтвердится (откатится).4. При повторном чтении в рамках одной и той же транзакции оказывается, что прочитаны строки, которых при предыдущих чтениях не было.5. Верны ответы 1 и 4.

Неповторяющееся чтение (англ. non-repeatable read) – при повторном чтении в рамках одной и той же транзакции оказывается, что ранее прочитанные данные изменены или удалены.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.38

Вопрос 8.28
Что такое проблема чтения фантомов?

1. При повторном чтении в рамках одной и той же транзакции оказывается, что ранее прочитанные данные изменены или удалены.2. Чтение данных, добавленных или измененных транзакцией, в другой транзакции может дать не точный результат, потому что та транзакция может поменять их еще раз.3. Чтение данных, добавленных или измененных транзакцией, может дать не точный результат, потому что та транзакция впоследствии не подтвердится (откатится).4. При повторном чтении в рамках одной и той же транзакции оказывается, что прочитаны строки, которых при предыдущих чтениях не было.5. Верны ответы 1 и 4.

Фантомное чтение (англ. phantom reads) – при повторном чтении в рамках одной и той же транзакции оказывается, что прочитаны строки, которых при предыдущих чтениях не было (новые строки называют «фантомными»).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.38

Вопрос 8.29
Как определить, что используется именно автоматический режим управления блокировками?

1. В трассировке SQL Server Profiler есть события Lock:Escalation2. Ни один из перечисленных способов не подходит3. В трассировке SQL Server Profiler есть события Lock:Timeout (timeout >0)4. В трассировке SQL Server Profiler для событий категории Lock в столбце Mode встречаются записи со словом Range5. В трассировке SQL Server Profiler для событий категории Lock в столбце Mode указано Serializable или Repeatable Read6. Посмотреть свойство конфигурации «Режим управления блокировкой данных»

События в SQL Profiler не скажут однозначно, что используется автоматический режим блокировкой данных. 100% результат можно получить только посмотрев свойство конфигурации.

Вопрос 8.30
Как определить, что используется именно автоматический режим управления блокировками?

1. В тексте запроса, пришедшем на SQL Server, есть подстрока WITH SERIALIZABLE.2. В тексте запроса, пришедшем на SQL Server, есть подстрока WITH REPEATABLE READ.3. В тексте запроса, пришедшем на SQL Server, есть подстрока WITH AUTOLEVEL.4. Верны ответы 1 и 2.

Уровни изоляции Repeatable read и Serializable используются только в автоматическом режиме управления блокировками (для MS SQL).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.41

Вопрос 8.31
ACID применительно к транзакциям это:

1. акроним, описывающий требования к транзакционной системе: Атомарность, Согласованность, Изолированность, Надежность.2. акроним, описывающий требования к транзакционной системе: Атомарность, Консистентность, Изолированность, Устойчивость.3. верны ответы 1 и 2.4. термин к транзакциям не применяется.

Транзакция является последовательностью операций, выполненных как одна логическая единица работы. Логическая единица работы должна обладать четырьмя свойствами, называемыми атомарностью, согласованностью, изоляцией и длительностью (ACID), чтобы называться транзакцией.Атомарность — транзакция должна быть атомарной единицей работы; должны быть выполнены либо все входящие в нее модификации данных, либо ни одно из них не должно быть выполнено.Согласованность — по завершении, транзакция должна оставить все данные в согласованном состоянии. В реляционной базе данных к модификациям транзакции должны быть применены все правила для обеспечения целостности всех данных. Все внутренние структуры данных, например индексы сбалансированного дерева или взаимосвязанные списки, должны быть правильными в конце транзакции. По-английски — constistency (консистентность).Изоляция — модификации, выполняемые параллельной транзакцией, должны быть изолированы от любых модификаций, проводимых другими параллельными транзакциями. Транзакция распознает данные либо в состоянии, в котором они были до того, как другая параллельная транзакция изменила их, либо она распознает данные после того, как другая транзакция была завершена. Но она не распознает промежуточное состояние. Это упоминается как упорядоченность, потому что она обеспечивает возможность перезагрузить начальные данные и воспроизвести серию транзакций, чтобы завершить работу с данными в том же самом состоянии, в котором они были после выполнения исходных транзакций.Длительность — после завершения транзакции, произведенные ею действия занимают постоянное место в системе. Изменения сохраняются даже в случае системного сбоя. Иногда употребляются термины — долговечность, надежность, устойчивость.Источники:
MSDN: Транзакции

Вопрос 8.32
Атомарность применительно к транзакциям это:

1. все или ничего; транзакция должна или пройти или не пройти полностью.2. что бы ни случилось, будут выполнены все подоперации транзакции.3. если транзакцию не удаётся полностью завершить, результаты всех её до сих пор произведённых действий не будут отменены и система не вернётся в исходное состояние.

Атомарность — транзакция должна быть атомарной единицей работы; должны быть выполнены либо все входящие в нее модификации данных, либо ни одно из них не должно быть выполнено.Источники:
MSDN: Транзакции

Вопрос 8.33
Какой из ответов правильно описывает свойство согласованности (Consistency) применительно к транзакциям?

1. Каждая успешная транзакция по определению фиксирует только допустимые результаты, не нарушает бизнес-логику и отношения между элементами данных.2. Внутри транзакции в ходе ее выполнения требуется согласованность.3. Если транзакцию не удаётся полностью завершить, результаты всех её до сих пор произведённых действий будут отменены и система вернётся в исходное состояние.

Согласованность — по завершении, транзакция должна оставить все данные в согласованном состоянии. В реляционной базе данных к модификациям транзакции должны быть применены все правила для обеспечения целостности всех данных. Все внутренние структуры данных, например индексы сбалансированного дерева или взаимосвязанные списки, должны быть правильными в конце транзакции.Источники:
MSDN: Транзакции

Вопрос 8.34
Изолированность транзакции — это:

1. действия других пользователей не должны мешать мне работать2. обеспечение целостности данных независимо от действий других пользователей3. свойство, которое соблюдается для уровня изоляции Read Committed и выше

Изоляция — модификации, выполняемые параллельной транзакцией, должны быть изолированы от любых модификаций, проводимых другими параллельными транзакциями. Транзакция распознает данные либо в состоянии, в котором они были до того, как другая параллельная транзакция изменила их, либо она распознает данные после того, как другая транзакция была завершена. Но она не распознает промежуточное состояние. Это упоминается как упорядоченность, потому что она обеспечивает возможность перезагрузить начальные данные и воспроизвести серию транзакций, чтобы завершить работу с данными в том же самом состоянии, в котором они были после выполнения исходных транзакций.Источники:
MSDN: Транзакции

Вопрос 8.35
Устойчивость (Durability) применительно к транзакции это:

1. действия других пользователей не должны повлиять на мои результаты.2. если транзакцию не удаётся полностью завершить, результаты всех её до сих пор произведённых действий будут отменены и система вернётся в исходное состояние.3. после своего завершения она сохраняется в системе, которую ничто не может вернуть в исходное (до начала транзакции) состояние.

Длительность — после завершения транзакции, произведенные ею действия занимают постоянное место в системе. Изменения сохраняются даже в случае системного сбоя.Источники:
MSDN: Транзакции

Вопрос 8.36
Как связаны блокировки и транзакции?

1. Транзакции в обязательном порядке устанавливают блокировки.2. После выхода 8.3 при работе с информационными системами на платформе «1С» уровень изоляции транзакций регулируется только изменением режима управления блокировкой данных.3. Транзакции и блокировки тесно связаны друг с другом. Транзакции накладывают блокировки на данные, чтобы обеспечить выполнение требований ACID.4. И то и другое — ошибки.

Блокировки устанавливаются только для транзакций.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.51

Вопрос 8.37
Наиболее распространенным в централизованных СУБД (включающих системы, основанные на архитектуре «клиент-сервер»):

1. является подход, основанный на соблюдении однофазного протокола синхронизационных захватов объектов баз данных (Single-Phase Locking Protocol, SPL).2. является подход, основанный на соблюдении двухфазного протокола синхронизационных захватов объектов баз данных (Two-Phase Locking Protocol, 2PL).3. является подход, основанный на соблюдении трехфазного протокола синхронизационных захватов объектов баз данных (Three-Phase Locking Protocol, 3PL).

Вопрос 8.38
В общих чертах подход двухфазного протокола синхронизационных захватов объектов баз данных (Two-Phase Locking Protocol, 2PL) состоит в следующем:

1. перед выполнением любой операции в транзакции T над объектом базы данных О от имени транзакции T запрашивается синхронизационная блокировка объекта О в соответствующем режиме (в зависимости от вида операции) (это первая фаза). Вторая фаза — собственно выполнение операции.2. первая фаза транзакции — синхронизирующий захват, обмен служебной информацией; вторая фаза — собственно установка блокировки.3. первая фаза транзакции — накопление захватов; вторая фаза (фиксация или откат) — освобождение захватов.

Вопрос 8.39
Пессимистичная блокировка устанавливается:

1. транзакцией в автоматическом режиме управления блокировками.2. платформой при вызове метода ПолучитьОбъект().3. расширением формы.4. транзакцией в управляемом режиме управления блокировками.

Пессимистическая блокировка объектов базы данных предназначена для того, чтобы запретить изменение данных определенного объекта другими сеансами или данным сеансом до тех пор, пока блокировка не будет снята этим объектом встроенного языка.В основном механизм пессимистической блокировки используется системой 1С:Предприятие 8.1 для блокировки объектов, редактируемых в форме. В тот момент, когда пользователь начинает модификацию объекта в форме, расширение формы устанавливает пессимистическую блокировку. Если после этого другой пользователь, например, попытается выполнить редактирование того же объекта, ему будет выдано сообщение о том, что не удалось заблокировать объект. Когда пользователь, редактировавший объект, закроет форму объекта, расширение формы снимет пессимистическую блокировку.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 8.40
Оптимистичная блокировка устанавливается:

1. транзакцией в автоматическом режиме управления блокировками.2. платформой, например, при вызове метода ПолучитьОбъект().3. расширением формы.4. транзакцией в управляемом режиме управления блокировками.

Оптимистическая блокировка запрещает запись объекта в базу данных, если после считывания объекта он был изменен в базе данных другими сеансами или другими программными объектами этого же сеанса.Фактически, оптимистическая блокировка представляет собой проверку, которая выполняется перед записью объекта в базу данных. Эта проверка построена на анализе номера версии объекта, хранящейся в базе данных и номера версии, помещенной в память компьютера в момент считывания данных из информационной базы. Если при записи объекта номера его версий отличаются, то будет выдано предупреждение о том, что версия объекта изменилась или он был удален, то есть сработает оптимистическаяблокировка.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 8.41
Оптимистичная блокировка снимается:

1. при вызове ЗафиксироватьТранзакцию().2. при окончании неявной транзакции.3. будет держаться, пока объект есть в памяти (например, до конца процедуры).4. верны ответы 1 и 2.

Оптимистическая блокировка запрещает запись объекта в базу данных, если после считывания объекта он был изменен в базе данных другими сеансами или другими программными объектами этого же сеанса.Фактически, оптимистическая блокировка представляет собой проверку, которая выполняется перед записью объекта в базу данных. Эта проверка построена на анализе номера версии объекта, хранящейся в базе данных и номера версии, помещенной в память компьютера в момент считывания данных из информационной базы. Если при записи объекта номера его версий отличаются, то будет выдано предупреждение о том, что версия объекта изменилась или он был удален, то есть сработает оптимистическаяблокировка.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 8.42
Вложенные транзакции:

1. поддерживаются.2. не поддерживаются.3. игнорируются.4. поддерживаются на уровне платформы, но поддерживаются только явные вложенные транзакции.

1С:Предприятие 8 не поддерживает вложенных транзакций.Источники:
ИТС: Вложенность транзакций

Вопрос 8.43
Как найти длительную транзакцию?

1. В технологическом журнале собирать события «TRAN», содержащие всю необходимую информацию по длительности транзакций.2. В технологическом журнале собирать события «SDBL» с фильтром по свойствам Func=CommitTransaction или RollbackTransaction, содержащие всю необходимую информацию по длительности транзакций.3. В профайлере SQL Server мониторить события BEGIN TRANSACTION и COMMIT TRANSACTION.

Полезным может оказаться технологический журнал, в который будут попадать все длительные события. Настройка такого технологического журнала может выглядеть так.<?xml version=»1.0″ encoding=»UTF-8″?>
<config xmlns=»http://v8.1c.ru/v8/tech-log»>
<log location=»C:\LOGS\LongEvents» history=»28″>
<event>
<ne property=»Name» value=»»/>
<ge property=»Durationus» value=»20000000″/>
</event>
<property name=»all»/>
</log>
</config>
Файл настройки приведен для версии технологической платформы 8.3, в фильтре по полю Durationus указано время 20 секунд (в микросекундах). Все события, которые попадают в такой журнал (при нормальной работе системы такой журнал должен быть скромных размеров) должны быть предметом рассмотрения, в первую очередь события SDBL со свойством Func=CommitTransaction. Такие события будут иметь длительность внешней (вложенные транзакции технологической платформой не поддерживаются) транзакции. Если транзакция длится более 20 секунд (скорее всего, в рамках транзакции будут установлены транзакционные блокировки на какие-либо ресурсы), она может стать «виновником» ошибок блокировок. Также внимание стоит уделить длительным запросам.
9. Блокировки, избыточные блокировки и методы оптимизации

Вопрос 9.1
Будет ли в технологическом журнале TLOCK, если управляемую блокировку установить не удалось?

1. Нет, не будет.2. Будет, с отметкой UNSUCCESSFUL.3. Будет.

Вопрос 9.2
В простых случаях, чтобы найти виновника таймаута или взаимоблокировки на управляемых блокировках, достаточно найти:

1. какую именно управляемую блокировку, несовместимую с блокировкой-жертвой, установило соединение, указанное в WaitConnections.2. какую именно управляемую блокировку, совместимую с блокировкой-жертвой, установило соединение, указанное в WaitConnections.3. какое именно соединение указано в WaitConnections.4. обычного подозреваемого (обращения к константам, последовательностям и пр.).

Вопрос 9.3
В чем отличие поведения эскалации блокировок СУБД MS SQL Server от эскалации управляемых блокировок 1С?

1. Эскалации управляемых блокировок не происходит.2. Поведение практически идентично.3. Если другие транзакции держат часть нужных для эскалации ресурсов на СУБД, то при попытке эскалации блокировок СУБД MS SQL Server будет продолжать блокировать ресурсы «по одному» и ждать, пока вся таблица не освободится. При попытке эскалации управляемых блокировок «эскалирующая транзакция» попадет в ожидание от всех, кто еще держит управляемые блокировки на этом ресурсе.4. Если другие транзакции держат часть нужных для эскалации ресурсов, то при попытке эскалации менеджер управляемых блокировок 1С будет продолжать блокировать ресурсы «по одному» и ждать, пока вся таблица не освободится, а при попытке эскалации блокировок СУБД MS SQL Server произойдет конфликт блокировок.

Вопрос 9.4
Возможна ли эскалация объектной блокировки при работе в разделенном сеансе?

1. Да, эскалация блокировки произойдет в пределах одной области данных.2. Да, эскалация будет влиять на работу сеансов во всех областях данных в этой информационной базе3. Эскалация объектной блокировки возможна, но только при работе в неразделенном режиме4. Нет, эскалация объектной блокировки не возможна5. Да, эскалация будет влиять на работу сеансов во всех информационных базах в этом кластере

Вопрос 9.5
Для регистра сведений, подчиненного регистратору, пространства блокировок «DIMS» и «RECORDER»:

1. не конфликтуют.2. конфликтуют.3. являются одним и тем же пространством.

Вопрос 9.6
Возможно ли запретить эскалацию управляемых блокировок?

1. Да, настройка применяется в консоли администрирования, действует на все информационные базы кластера серверов2. Да, настройка применяется в параметрах информационной базы в режиме конфигуратора3. Нет, нельзя4. Нельзя только в автоматическом режиме управления блокировками данных

Вопрос 9.7
Возникнет ли эскалация управляемой блокировки по всему пространству блокировок какого-то ресурса в случае включения в этот ресурс общих реквизитов при работе из разделенного сеанса?

1. Эскалация будет по всему пространству не зависимо от установленных значений разделителей2. Эскалация возникнет только в рамках области данных3. Эскалация управляемой блокировки в разделенном режиме не возникает4. Эскалация блокировок возникает в менеджере управляемых блокировок кластера. Т.к. он один на кластер, то эскалация будет во всех информационных базах кластера5. Управляемые блокировки не эскалируются.

Вопрос 9.8
Выберите верное утверждение:

1. Чтение через объектную модель всегда приводит к наложению управляемой блокировки2. Чтение наборов записей регистров через объектную модель приводит к наложению управляемой блокировки3. Чтение через объектную модель всегда приводит к наложению объектной блокировки4. Получение прикладного объекта через ПолучитьОбъект() всегда происходит с использованием объектной блокировки5. Верны варианты 2 и 46. Верны все варианты

Вопрос 9.9
Если метод Заблокировать() коллекции БлокировкаДанных выполняется вне транзакции:

1. блокировки установлены не будут.2. блокировки будут держаться до конца процедуры.3. блокировки будут держаться до конца кода, до возврата управления пользователю.4. если блокировки установлены на сервере, они будут держаться до возврата на клиент.5. верны ответы 3 и 4.

Вопрос 9.10
Как определить время, которое управляемая блокировка ожидала освобождения ресурса?

1. По свойствам события Lock:Aсquired в профайлере.2. По свойству события TTIMEOUT в технологическом журнале.3. По свойству события TLOCK в технологическом журнале.4. По свойствам соединения в консоли кластера.

Вопрос 9.11
Для того чтобы минимизировать влияние блокирующего чтения остатков на производительность системы, надо:

1. выяснить, какие остатки нуждаются в блокирующем чтении, в начале транзакции в явном виде записать движения по всем регистрам, которые не требуют контроля остатков (БлокироватьДляИзменения ставить ИСТИНА), выполнить все остальные действия, в самом конце транзакции в явном виде записать движения по тем регистрам, которые требуют контроля остатков (БлокироватьДляИзменения ставить ИСТИНА), для каждого регистра выполнить запрос контроля остатков (считывать только отрицательные остатки).2. выяснить, какие остатки нуждаются в блокирующем чтении, в начале транзакции в явном виде записать движения по всем регистрам, которые не требуют контроля остатков (БлокироватьДляИзменения ставить ЛОЖЬ), выполнить все остальные действия, в самом конце транзакции в явном виде записать движения по тем регистрам, которые требуют контроля остатков (БлокироватьДляИзменения ставить ИСТИНА), для каждого регистра выполнить запрос контроля остатков (считывать только отрицательныеостатки).3. выяснить, какие остатки нуждаются в блокирующем чтении, в начале транзакции в явном виде записать движения по всем регистрам, которые не требуют контроля остатков (БлокироватьДляИзменения ставить ИСТИНА), в явном виде записать движения по тем регистрам, которые требуют контроля остатков (БлокироватьДляИзменения ставить ИСТИНА), выполнить все остальные действия, для каждого регистра выполнить запрос контроля остатков (считывать только отрицательные остатки).

Вопрос 9.12
Есть непериодический независимый регистр сведений с тремя измерениями. Транзакция устанавливает исключительную управляемую блокировку сперва, в одной процедуре, только по первому измерению, затем, в другой процедуре, только по второму измерению. К чему это приведет?

1. На этот регистр в других транзакциях нельзя будет поставить блокировки, которые будут принадлежать плоскости «первой» или «второй» блокировок, установленных в первой транзакции.2. Защищенными окажутся только данные в пересечении двух установленных блокировок. Любые другие блокировки будут совместимы.3. По третьему измерению в этой же транзакции исключительную управляемую блокировку поставить будет нельзя.4. Ничего особенного не произойдет, управляемые блокировки не переходят из процедуры в процедуру.

Вопрос 9.13
Как определить, какие именно управляемые блокировки были установлены?

1. По технологическому журналу по событию TTIMEOUT.2. С помощью ЦКК.3. В свойствах соединения в консоли кластера.4. По технологическому журналу по событию TLOCK.

Вопрос 9.14
Есть непериодический независимый регистр сведений с тремя измерениями. Транзакция устанавливает разделяемую управляемую блокировку сперва, в одной процедуре, только по первому измерению, затем, в другой процедуре, только по второму измерению. К чему это приведет?

1. На этот регистр в других транзакциях нельзя будет поставить исключительные блокировки, которые будут принадлежать плоскости первого и второго измерения одновременно.2. Защищенными окажутся только данные в точке пересечения измерений.3. По третьему измерению в этой же транзакции исключительную управляемую блокировку поставить будет нельзя.4. Ничего особенного не произойдет, управляемые блокировки не переходят из процедуры в процедуру.5. Ничего особенного не произойдет, разделяемые управляемые блокировки снимутся после выполнения чтения.

Вопрос 9.15
Как решать проблему эскалации блокировки?

1. Блокировать необходимые данные партиями, каждую — в отдельной транзакции, контроль успешности выполнения действий со всеми партиями делать внешними средствами.2. Отказываться от установки управляемых блокировок.3. Изменить параметр информационной базы «Пороговое значение эскалации блокировок».4. Отключить эскалацию блокировок средствами СУБД.

Вопрос 9.16
Как узнать, что произошла эскалация блокировок в MS SQL Server?

1. С помощью событий TLOCK в технологическом журнале2. С помощью класса событий Locks:Lock:Escalation профайлера3. С помощью класса событий Locks в журнале регистрации4. С помощью события TTIMEOUT в технологическом журнале5. Ответ на этот вопрос получить невозможно

Вопрос 9.17
Как узнать, что произошла эскалация управляемых блокировок?

1. С помощью событий TLOCK в технологическом журнале2. С помощью класса событий Locks:Lock:Escalation профайлера3. С помощью события TTIMEOUT в технологическом журнале4. С помощью класса событий Locks в журнале регистрации

Вопрос 9.18
Какие бывают режимы управляемых блокировок 1С?

1. Разделяемый и исключительный.2. Разделяемый, исключительный и обновления.3. Разделяемый, исключительный и БлокироватьДляИзменения.4. Объектный и транзакционный.

Вопрос 9.19
Какие виды объектных блокировок поддерживаются в системе 1С:Предприятие?

1. Таймауты и дэдлоки.2. Оптимистичный и пессимистичные.3. Управляемые блокировки и блокировки на уровне СУБД.4. Для объектных и для необъектных сущностей.

Объектные блокировки бывают оптимистические и пессиместические.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.20
Какие есть поля пространства блокировок для следующих объектов: Константа.< имя> ?

1. Ссылка.2. Нет полей.3. Нельзя заблокировать.

Нет полей.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.21
Какие есть поля пространства блокировок для следующих объектов: Перерасчет.< имя>?

1. Регистратор; период; <имя измерения>.2. Период; <имя измерения>.3. ВидРасчета.4. Регистратор.5. ОбъектПерерасчета.

Вид расчета.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.22
Какие есть поля пространства блокировок для следующих объектов: Перерасчет.< имя>.НаборЗаписей?

1. Регистратор; период; <имя измерения>.2. Период; <имя измерения>.3. ВидРасчета.4. Регистратор.5. ОбъектПерерасчета.

ОбъектПерерасчета.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.23
Какие есть поля пространства блокировок для следующих объектов: Последовательность.< имя> ?

1. Регистратор; период; <имя измерения>.2. Период; <имя измерения>.3. Ссылка.4. Регистратор.5. <имя измерения>.

<имя измерения>Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.24
Какие есть поля пространства блокировок для следующих объектов: Последовательность.< имя>.НаборЗаписей?

1. Регистратор; период; <имя измерения>.2. Период; <имя измерения>.3. Ссылка.4. Регистратор.5. <имя измерения>.

Регистратор.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.25
Какие есть поля пространства блокировок для следующих объектов: РегистрБухгалтерии.< имя>?

1. Регистратор; период; <имя измерения>.2. Период; <имя измерения>.3. Ссылка.4. Регистратор.5. Период; <вид движения> — значение системного перечисления ВидДвиженияБухгалтерии; Счет — обязательное поле; Субконто; <вид субконто>; <имя измерения>

Период;
<вид движения> — значение системного перечисления ВидДвиженияБухгалтерии;
Счет — обязательное поле;
Субконто;
<вид субконто>;
<имя измерения>
Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.26
Какие есть поля пространства блокировок для следующих объектов: РегистрБухгалтерии.< имя>.НаборЗаписей?

1. Регистратор; период; <имя измерения>.2. Период; <имя измерения>.3. Ссылка.4. Регистратор.5. Период; <вид движения> — значение системного перечисления ВидДвиженияБухгалтерии; Счет — обязательное поле; Субконто; <вид субконто>; <имя измерения>.

Регистратор.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.27
Какие есть поля пространства блокировок для следующих объектов: РегистрНакопления.< имя> ?

1. Регистратор; период; <имя измерения>.2. Период; <имя измерения>.3. Ссылка.4. Регистратор.

Период — если есть;
<имя измерения>
Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.28
Какие есть поля пространства блокировок для следующих объектов: РегистрНакопления.< имя>.НаборЗаписей?

1. Регистратор; период; <имя измерения>.2. Период; <имя измерения>.3. Ссылка.4. Регистратор.

Регистратор.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.29
Что такое избыточная блокировка?

1. Блокировка всего объекта конфигурации.2. Блокировка, не обусловленная бизнес-логикой приложения.3. Неразрешимый конфликт блокировок.4. Укрупнение области блокирования в MS SQL Server и 1С:Предприятии.5. Блокировка всей таблицы целиком.

Избыточная блокировка — это блокировка не обусловленная бизнес-логикой приложения.ИТС: Типичные причины избыточных блокировок и методы оптимизации

Вопрос 9.30
Какие есть поля пространства блокировок для следующих объектов: РегистрРасчета.< имя> ?

1. Регистратор; период; <имя измерения>.2. Период; <имя измерения>.3. Ссылка.4. Регистратор.5. ПериодРегистрации; ПериодДействия; <имя измерения>

ПериодРегистрации;
ПериодДействия;
<имя измерения>
Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.31
Какие есть поля пространства блокировок для следующих объектов: РегистрРасчета.< имя>.НаборЗаписей?

1. Регистратор; период; <имя измерения>.2. Период; <имя измерения>.3. Ссылка.4. Регистратор.5. ПериодРегистрации; ПериодДействия; <имя измерения>

Регистратор.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.32
Какие есть поля пространства блокировок для следующих объектов: РегистрСведений.< имя>?

1. Регистратор — если есть; период — если есть; <имя измерения>.2. Период — если есть; <имя измерения>.3. Ссылка.4. Регистратор.

Период — если есть;
<имя измерения>
Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.33
Какие есть поля пространства блокировок для следующих объектов: РегистрСведений.< имя>.НаборЗаписей (только для регистра сведений, подчиненного регистратору)?

1. Регистратор; период — если есть; <имя измерения>.2. <имя измерения>.3. Регистратор; период — если есть; <имя измерения>; <имя ресурса>.4. Регистратор.

Регистратор.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.34
Какие проблемы были бы возможны, если бы не было пессимистических блокировок?

1. Проблема потерянного обновления для объектов, редактируемых в форме.2. Проблема грязного чтения для объектов, редактируемых в форме.3. Проблема неповторяемого чтения для объектов, редактируемых в форме.4. Проблема фантомов для объектов, редактируемых в форме.5. Верны ответы 1 и 3.6. Верны ответы 1, 2, 3, 4.

Пессимистическая блокировка объектов базы данных предназначена для того, чтобы запретить изменение данных определенного объекта другими сеансами или данным сеансом до тех пор, пока блокировка не будет снята этим объектом встроенного языка.В основном механизм пессимистической блокировки используется системой 1С:Предприятие 8 для блокировки объектов, редактируемых в форме. В тот момент, когда пользователь начинает модификацию объекта в форме, расширение формы устанавливает пессимистическую блокировку. Если после этого другой пользователь, например, попытается выполнить редактирование того же объекта, ему будет выдано сообщение о том, что не удалось заблокировать объект. Когда пользователь, редактировавший объект, закроет форму объекта, расширение формы снимет пессимистическую блокировку.Таким образом пессимистическая блокировка гарантирует, что пользователь, начав изменять данные объекта, сможет записать эти изменения в информационную базу.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.35
Какие по умолчанию есть поля пространства блокировок для следующих объектов:
Справочник.< имя>
Документ.< имя>
ПланОбмена.< имя>
ПланСчетов.< имя>
БизнесПроцесс.< имя>
Задача.< имя>
ПланВидовРасчета.< имя>
ПланВидовХарактеристик.< имя>?

1. Ссылка2. Код3. Наименование

Для всех объектов определено только одно пространство блокировок — Ссылка.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.36
Какие ресурсы блокируются при эскалации блокировок СУБД при работе с информационными системами на платформе 1С?

1. Блокируется ключ.2. Блокируется таблица.3. Блокируется страница.4. Верны варианты 2 и 3.5. Верны варианты 1 и 2.

Не важно, блокировались данные на уровне записей (строк), на уровне диапазона ключа или на уровне страницы. После эскалации они окажутся заблокированы на уровне таблицы, т. е. эскалация всегда происходит до уровня таблицы.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.66

Вопрос 9.37
Какие события в технологическом журнале будут указывать на то, что управляемую блокировку установить не удалось?

1. TTIMEOUT и TDEADLOCK2. CALL и SCALL3. TLOCK с ключом UNSUCCESSFUL

TDEADLOCK — обнаружена взаимоблокировка в управляемом режиме.TTIMEOUT — превышение максимального времени ожидания транзакционной блокировки.Источники:
ИТС: Описание и расположение служебных файлов

Вопрос 9.38
Какие существуют способы задания условий на поля пространств блокировки?

1. С помощью явного задания имени поля и его значения.2. С помощью указания источника данных, содержащего необходимые значения.3. Верны ответы 1 и 2.4. Нет верного ответа.

Существует два способа задания условий на поля пространств блокировки:
  • с помощью явного задания имени поля и его значения;
  • с помощью указания источника данных, содержащего необходимые значения
Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.39
Какие типы управляемых блокировок бывают?

1. Блокировки объектов и блокировки информационной базы2. Только исключительные блокировки3. Разделяемые и исключительные блокировки4. Пессимистические и оптимистические блокировки5. Разделяемые, обновления и исключительные блокировки

Для управляемых блокировок «1С» выделяют два уровня: исключительный и разделяемый.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.56

Вопрос 9.40
Когда оказывается заблокированной таблица целиком? Выберите наиболее полный правильный ответ.

1. В файловом режиме, всегда при эскалации блокировок, при работе с Oracle Database и PostgreSQL в автоматическом режиме блокировок.2. В файловом режиме, в ряде случаев при эскалации блокировок, при работе с Oracle Database и PostgreSQL в автоматическом режиме блокировок.3. В файловом режиме, в ряде случаев при эскалации блокировок, при работе с Oracle Database и PostgreSQL в автоматическом режиме блокировок, при использовании Clustered Index Scan, Table Scan или Nested Loops в плане запроса, при записи пустого набора в пустую таблицу в автоматическом режиме блокировок.4. В файловом режиме, всегда при эскалации блокировок, при работе с Oracle Database и PostgreSQL в автоматическом режиме блокировок, при использовании Clustered Index Scan или Table Scan в плане запроса, при записи пустого набора в пустую таблицу в автоматическом режиме блокировок.

Вопрос 9.41
Когда снимаются управляемые блокировки?

1. В конце вложенной транзакции2. При окончании транзакции.3. При выгрузке объектов из памяти.4. Разделяемые — после окончания чтения, исключительные — при окончании транзакции.

Установленные управляемые блокировки, как разделяемые, так и исключительные, держатся до конца транзакции.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.56

Вопрос 9.42
Когда технологической платформой устанавливаются неявные управляемые блокировки?

1. При вызове процедуры глобального контекста НачатьТранзакцию().2. При вызове процедуры ОбработкаПроведения.3. При чтении наборов записей. При записи любых объектов.4. При любом чтении и записи в объектной технике.5. Технологическая платформа не устанавливает управляемые блокировки неявно. Разработчик всегда имеет возможность управлять установкой таких блокировок.

При записи в объектной технике устанавливаются исключительные управляемые блокировки.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.57

Вопрос 9.43
Когда устанавливаются неявные управляемые разделяемые блокировки?

1. При чтении данных запросом2. При чтении предопределенного элемента справочника в объектной технике3. При чтении набора записей4. При открытии формы документа

Управляемые разделяемые блокировки устанавливаются платформой при чтении в объектной технике следующих видов объектов:
  • набор записей регистра сведений,
  • набор записей регистра накопления,
  • набор записей регистра бухгалтерии,
  • набор записей регистра расчета,
  • набор записей перерасчета,
  • набор записей последовательности.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.56

Вопрос 9.44
Механизм объектных блокировок 1С:Предприятия позволяет:

1. при необходимости усилить изолированность транзакций, не меняя уровень изоляции СУБД.2. оповестить пользователей о захвате объектных данных 1С:Предприятия (справочников, документов, планов счетов и т.д.).3. блокировать объекты метаданных на уровне таблиц целиком.4. платформе 1С:Предприятия использовать управляемые объектные блокировки для защиты данных.

Вопрос 9.45
Может ли информация, какую именно управляемую блокировку, несовместимую с блокировкой-жертвой, установило соединение, указанное в WaitConnections, находиться не в том же файле, где есть событие TDEADLOCK или TTIMEOUT?

1. Да, она может быть в логах другого часа, другого рабочего процесса, и даже, если в кластере несколько серверов – в логах другого сервера.2. Нет, она обязательно будет в этом же файле.3. Да, но она обязательно будет в этом же каталоге.4. Да, но она обязательно будет на этом же компьютере, даже если в кластере несколько серверов.

Вопрос 9.46
Можно ли явно снять определенную транзакционную блокировку?

1. Да, с помощью метода Разблокировать()2. Да, с помощью метода РазблокироватьДанныеДляРедактирования()3. Нет, все без исключения транзакционные блокировки технологическая платформа снимает автоматически4. Нет, т.к. все без исключения транзакционные блокировки снимаются в конце транзакции5. Нет, встроенный язык не поддерживает такую возможность, т.к. это противоречит 2pl

Вопрос 9.47
Объектная оптимистичная блокировка предполагает, что:

1. во время обновления записи в базе мы единственные, кто меняет эту запись.2. если данные во-время обновления могут «поломаться» из-за конкурентного доступа, то они «поломаются», т.е. данные нельзя давать менять одновременно.3. конфликтов блокировок СУБД не возникнет.

Оптимистическая блокировка запрещает запись объекта в базу данных, если после считывания объекта он был изменен в базе данных другими сеансами или другими программными объектами этого же сеанса.Фактически, оптимистическая блокировка представляет собой проверку, которая выполняется перед записью объекта в базу данных. Эта проверка построена на анализе номера версии объекта, хранящейся в базе данных и номера версии, помещенной в память компьютера в момент считывания данных из информационной базы. Если при записи объекта номера его версий отличаются, то будет выдано предупреждение о том, что версия объекта изменилась или он был удален, то есть сработает оптимистическая блокировка.Источники:
ИТС: Блокировки данных в 1С:Предприятии 8

Вопрос 9.48
Объектная пессимистичная блокировка предполагает, что:

1. во время записи в базу мы единственные, кто меняет эти же данные.2. если данные во время записи в базу могут «поломаться» из-за конкурентного доступа, то они «поломаются», т.е. данные нельзя давать записывать в базу одновременно.3. обязательно возникнет конфликт транзакционных блокировок.

Вопрос 9.49
Почему поля пространства блокировок Регистратор и < имя измерения> не пересекаются?

1. Потому что поле пространства блокировок Регистратор относится к пространству Регистр(Сведений | Накопления | Бухгалтерии).<имя>.НаборЗаписей, а поле <имя измерения>относится к пространству Регистр(Сведений | Накопления | Бухгалтерии).<имя>.2. Чтобы повысить параллельность работы, существует специальная процедура контроля для этого.3. Потому что поле пространства блокировок Регистратор относится к пространству Регистр(Сведений | Накопления | Бухгалтерии).<имя>, а поле <имя измерения> относится к пространству Регистр(Сведений | Накопления | Бухгалтерии).<имя>.НаборЗаписей.

Вопрос 9.50
Пространства блокировок:

1. определены в платформе 1С:Предприятия 8.1 и выше и соответствуют структуре прикладных объектов конфигурации.2. определены в СУБД и соответствуют структуре прикладных объектов конфигурации.3. определены в платформе 1С:Предприятия 8.1 и выше и соответствуют структуре прикладных объектов конфигурации. Определено не более одного пространства на прикладной объект.

Вопрос 9.51
Пространство блокировок без суффикса НаборЗаписей:

1. используется в тех случаях, когда необходимо заблокировать сами записи данного объекта (например, при добавлении новых записей).2. используется в тех случаях, когда анализируются некоторые данные этого объекта (например, остатки регистра), или когда выполняются какие-либо операции, приводящие к изменению существующих данных объекта (например, восстановление границы последовательности).3. верны ответы 1 и 2.

Вопрос 9.52
Пространство блокировок с суффиксом НаборЗаписей:

1. используется в тех случаях, когда необходимо заблокировать сами записи данного объекта (например, при добавлении новых записей).2. используется в тех случаях, когда анализируются некоторые данные этого объекта (например, остатки регистра), или когда выполняются какие-либо операции, приводящие к изменению существующих данных объекта (например, восстановление границы последовательности).3. верны ответы 1 и 2.

Вопрос 9.53
Разделение итогов регистров накопления и бухгалтерии:

1. в автоматическом режиме управления блокировками не работает, игнорируется2. работает и в автоматическом режиме управления блокировками, и в управляемом, но в автоматическом режиме свойство БлокироватьДляИзменения вызывает исключительную ситуацию3. в автоматическом режиме управления блокировками работает, но эффекта от него практически нет4. в управляемом режиме управления блокировками не работает, игнорируется

Вопрос 9.54
С какого числа записей в наборе начинается эскалация управляемых блокировок 1С в 8.2?

1. Начинается с 20 000 записей в одной транзакции2. Начинается с 100 000 ресурсов, захваченных во всех транзакциях в информационной базе3. Начинается со 100 000 записей в одной транзакции4. Начинается с 50 000 записей во всех транзакциях в информационной базе5. Эскалируются только блокировки в СУБД

 

Вопрос 9.55
С какого числа записей в наборе начинается эскалация управляемых блокировок 1С в 8.3?

1. Начинается с 20 000 записей в одной транзакции2. Начинается с 100 000 ресурсов, захваченных во всех транзакциях в информационной базе3. Начинается со 100 000 записей в одной транзакции в информационной базе4. Начитается с 50 000 записей во всех транзакциях в информационной базе5. Эскалируются только блокировки в СУБД

Вопрос 9.56
С помощью каких событий расследуется таймаут на управляемых блокировках?

1. TDEADLOCK и TTIMEOUT.2. TLOCK и TTIMEOUT.3. TLOCK, TDEADLOCK и TTIMEOUT.

Вопрос 9.57
Свойство БлокироватьДляИзменения:

1. при попытке использования в автоматическом режиме блокировки вызывает исключительную ситуацию.2. работает и в автоматическом режиме управления блокировками, и в управляемом.3. в автоматическом режиме управления блокировками работает, но эффекта от него практически нет.4. в управляемом режиме управления блокировками не работает, игнорируется.

Вопрос 9.58
Укажите правильный порядок событий в технологическом журнале при возникновении таймаута на управляемых блокировках:

1. TLOCK виновника …(возможно, другие TLOCK)… TTIMEOUT …(возможно, другие TLOCK)… TLOCK жертвы2. TLOCK виновника …(возможно, другие TLOCK)… TTIMEOUT TLOCK жертвы …(возможно, другие TLOCK)…3. TLOCK виновника …(возможно, другие TLOCK)… TLOCK жертвы TTIMEOUT4. TLOCK виновника …(возможно, другие TLOCK)… TLOCK жертвы …(возможно, другие TLOCK)… TTIMEOUT

Вопрос 9.59
Устанавливаются ли управляемые блокировки при выполнении запроса?

1. Да, устанавливаются, но снимаются сразу после выполнения запроса2. Да, устанавливаются, снимаются в конце транзакции3. Устанавливаются только в управляемом режиме управления блокировками данных4. Верны ответы 1 и 35. Устанавливаются только в автоматическом режиме управления блокировками данных6. Нет, не устанавливаются

Вопрос 9.60
Чем уровень (mode) блокировки отличается от уровня изоляции транзакции?

1. Уровень блокировки — это то, насколько блокировка совместима с другими блокировками, а уровень изоляции — это то, какие допускаются несогласованности при параллельной работе.2. Уровень блокировки определяется сущностью выполняемых действий (чтение, обновление, запись), а уровни изоляции, отличные от используемых по умолчанию, могут быть установлены с использованием Transact-SQL или через API (application programming interface) базы данных.3. По сути, ничем, если пренебречь тем, что одно относится к блокировке, а другое к транзакции.4. Верны ответы 1 и 2.5. Верны ответы 1, 2 и 3.

Вопрос 9.61
Что такое блокировка?

1. Это механизм, с помощью которого сервер (СУБД, а также 1С) синхронизирует одновременный доступ нескольких пользователей к одному фрагменту данных.2. Это конфликтная ситуация, с помощью которой сервер защищает данные.3. Это основная причина снижения производительности работы.4. Верны ответы 1 и 3.

Вопрос 9.62
Что такое избыточная блокировка?

1. Блокировка всего объекта конфигурации.2. Блокировка, не обусловленная бизнес-логикой приложения.3. Неразрешимый конфликт блокировок.4. Укрупнение области блокирования в MS SQL Server и 1С:Предприятии.5. Блокировка всей таблицы целиком.

Вопрос 9.63
Что произойдет, если в момент эскалации управляемой блокировки по определенному пространству блокировок в этом пространстве уже установлена какая-то несовместимая управляемая блокировка?

1. Несовместимая управляемая блокировка будет снята автоматически, а эскалация выполнится успешно2. Несовместимая управляемая блокировка будет снята автоматически, а владелец несовместимой управляемой блокировки получит ошибку вида «Превышено максимальное время предоставления блокировки»3. Несовместимая управляемая блокировка будет снята автоматически, а владелец несовместимой управляемой блокировки получит ошибку вида «Неустранимый конфликт блокировок при выполнении транзакции»4. Возникнет ожидание при эскалации блокировки, пока несовместимая блокировка не будет снята либо не будет превышено время ожидания предоставления возможности установки блокировки

Эскалации бывают на СУБД и в менеджере управляемых блокировок. Их поведение различно. Различие состоит в том, что если в момент попытки эскалации на СУБД MS SQL кто-то другой будет держать блокировку, то эскалации не произойдет, но при этомтранзакция дальше продолжит свое выполнение. Если в «1С» кто-то другой будет держать блокировку, то «эскалирующаяся» транзакция попадет в ожидание от всех, кто еще держит блокировки на этом ресурсе. Если в «1С» не получится проэскалироваться в течение N (по умолчанию 20) секунд, то транзакция получит таймаут. Настольная книга 1С.Эксперта по технологическим вопросам, стр. 66

10. Взаимоблокировки и методы их исправления

Вопрос 10.1
Конфигурация в режиме совместимости с 8.2. СУБД MS SQL Server. Для исправления взаимоблокировки вида «захват ресурсов в разном порядке», когда она возникает на исключительных блокировках СУБД, необходимо:

1. В самом начале транзакции захватить исключительной управляемой блокировкой все ресурсы, с которыми может вестись работа в транзакции2. Изменить уровень изоляции транзакции на READ COMMITTED SNAPSHOT, отключив режим совместимости с 8.2.3. Найти второй ресурс и вторую транзакцию и изменить порядок захвата ресурсов4. Установить исключительную управляемую блокировку непосредственно перед местом записи данных5. Разбить транзакцию на несколько мелких транзакций

Если взаимоблокировки вида "захват ресурсов в разном порядке" возникают на исключительных блокировках СУБД, это означает, что используется автоматический режим управления блокировками, потому что в управляемом режиме раньше взаимоблокировки в СУБД возникла бы взаимоблокировка на исключительных управляемых блокировках 1С (в том числе неявных). Установка управляемых блокировок, как один из способов решения задачи, поэтому невозможна. Нужно найти второй ресурс и вторую транзакцию, и изменить порядок захвата ресурсов.

Вопрос 10.2
При борьбе с взаимоблокировками и необходимости перевода базы в управляемый режим управления блокировками правильная последовательность действий:

1. сначала избавиться от взаимоблокировок, только затем перевести базу в управляемый режим управления блокировками.2. сначала перевести базу в управляемый режим управления блокировками, только потом заниматься избавлением от взаимоблокировок.3. перевод базы в управляемый режим и избавление от взаимоблокировок это не связанные вещи, можно делать это в любой последовательности.

Вопрос 10.3
Что такое взаимоблокировка?

1. Ситуация, когда две или более транзакции ждут друг друга из-за того, что каждая из сторон блокирует ресурс, необходимый другой стороне.2. Ситуация, когда две или более блокировки ждут друг друга из-за того, что каждая из сторон блокирует ресурс, необходимый другой стороне.3. Ситуация, когда два пользователя пытаются открыть один документ.4. Момент времени, когда пользователь получает сообщение вида: «SQL Server: Lock request time out period exceeded»

Взаимоблокировка возникает, когда две или более транзакции ждут друг друга из-за  того, что каждая из сторон блокирует ресурс, необходимый другой стороне.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.61

Вопрос 10.4
Какая схема представляет собой схему взаимоблокировки с повышением уровня блокировки ресурса (T1,T2 – транзакции, S/X –разделяемая/исключительная, Р1,Р2 – ресурсы)?

1. Т1: X(P1) -> X(P2), T2: X(P2) -> X(P1).2. T1: X(P1) -> S(P1+P2), T2: X(P2) -> S(P1+P2).3. Т1: S(P1) -> X(P1), T2: S(P1) -> X(P1).4. T1: S(P1) -> S(P2), T2: S(P2) -> S(P1).5. Верны ответы 2 и 3.

Повышение уровня блокировки ресурса. S1 -> X1, S1-> X1.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.63

Вопрос 10.5
Каковы наиболее типичные причины взаимоблокировок?

1. Захват ресурсов в разном порядке, повышение уровня изоляции транзакции.2. Захват ресурсов в разном порядке, повышение уровня блокировки в рамках одной транзакции, неоптимальная работа запроса.3. Захват ресурсов в разном порядке, повышение уровня изоляции транзакции, эскалация блокировок.4. Захват ресурсов в разном порядке, повышение уровня изоляции транзакции, повышение гранулярности блокировок.5. Верны ответы 3 и 4

Возникновение взаимоблокировок сводят к следующим ситуациям.
1. Захват ресурсов в разном порядке. X1 -> X2, X2-> X1.
2. Повышение уровня блокировки ресурса. S1 -> X1, S1-> X1.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.62

Вопрос 10.6
Для чего на практике бывает нужно использовать свойство БлокироватьДляИзменения?

1. Свойство используется для установки управляемых блокировок по части набора записи.2. Установка управляемой блокировки без учета разделения итогов ухудшает параллельность записи, но защищает от взаимоблокировок при контроле остатков.3. Для обеспечения целостности читаемых данных наборами записей от изменения.4. Чтобы улучшить параллельность работы в автоматическом режиме управления блокировками.5. Установка блокировки U «для обновления» на уровне СУБД без учета разделения итогов ухудшает параллельность записи, но защищает от взаимоблокировок при контроле остатков.

Если для регистра бухгалтерии/накопления разрешено и включено разделение итогов, то запись движений осуществляется с учетом сплиттера (разделителя итогов) и поэтому может производиться параллельно, даже при полностью совпадающих значениях периода, счета и измерений. Но параллельность увеличивается для записи, не для чтения. Если нужно осуществлять чтение, то разделитель итогов смысла не имеет, потому что читать надо все итоги по данным значениям периода, счета и измерений. Чтобы не получить взаимоблокировку, необходимо пользоваться свойством БлокироватьДляИзменения, которое есть у набора записей регистра бухгалтерии/накопления. Таким образом, если идет чтение остатков, разделитель итогов параллельность не увеличивает.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.72

Вопрос 10.7
Какая схема представляет собой схему взаимоблокировки с установкой блокировок в различном порядке (T1,T2 – транзакции, S/X – разделяемая/исключительная, Р1,Р2 – ресурсы)?

1. Т1: S(P1) -> X(P1), T2: S(P1) -> X(P1).2. T1: X(P1) -> S(P1+P2), T2: X(P2) -> S(P1+P2).3. Т1: X(P1) -> X(P2), T2: X(P2) -> X(P1).4. T1: S(P1) -> S(P2), T2: S(P2) -> S(P1).5. Верны ответы 2 и 3.

Вопрос 10.8
Если взаимоблокировка возникает по причине попыток эскалаций блокировок СУБД SQL Server в двух параллельных транзакциях (наборы не пересекаются), какая это будет взаимоблокировка?

1. Захват ресурсов в разном порядке.2. Повышение уровня блокировки ресурса.3. Повышение уровня изоляции транзакции.4. Взаимоблокировки не произойдет.

Эскалации бывают на СУБД и в менеджере управляемых блокировок. Их поведение различно. Различие состоит в том, что если в момент попытки эскалации на СУБД MS SQL кто-то другой будет держать блокировку, то эскалации не произойдет, но при этом транзакция дальше продолжит свое выполнение. Если в «1С» кто-то другой будет держать блокировку, то «эскалирующаяся» транзакция попадет в ожидание от всех, кто еще держит блокировки на этом ресурсе. Если в «1С» не получится проэскалироваться в течение N (по умолчанию 20) секунд, то транзакция получит таймаут.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.72

Вопрос 10.9
Если взаимоблокировка возникает по причине чтения остатков по регистру с включенным режимом разделения итогов после отмены проведения документов в двух параллельных транзакциях, какая это будет взаимоблокировка?

1. Захват ресурсов в разном порядке.2. Повышение уровня блокировки ресурса.3. Повышение уровня изоляции транзакции.4. Снижение уровня изоляции транзакции.5. Взаимоблокировки не произойдет.

Вопрос 10.10
Есть регистр сведений с подчинением регистратору и периодичностью по позиции регистратора. Два сеанса пытаются записать одинаковые значения измерений. Т.к. регистр с подчинением регистратору и периодичностью по позиции регистратора, то запись проходит успешно. Далее в транзакции оба сеанса хотят получить срез последних по измерению. Что произойдет? Используется платформа 8.2, управляемый режим управления блокировками, SQL Server.

1. Взаимоблокировка 1С «захват ресурсов в разном порядке».2. Взаимоблокировка СУБД «захват ресурсов в разном порядке».3. Взаимоблокировка 1С «повышение уровня блокировки ресурса».4. Взаимоблокировка СУБД «повышение уровня блокировки ресурса».5. Взаимоблокировки не будет.

Вопрос 10.11
Есть регистр сведений с подчинением регистратору и периодичностью по позиции регистратора. Два сеанса пытаются записать одинаковые значения измерений. Т.к. регистр с подчинением регистратору и периодичностью по позиции регистратора, то запись проходит успешно. Далее в транзакции оба сеанса хотят получить срез последних по измерению. Как предотвратить взаимоблокировку СУБД? Используется платформа 8.2, управляемый режим управления блокировками, SQL Server.

1. Ставить явную управляемую исключительную блокировку перед записью движений в базу. Это позволит организовать очередь.2. Взаимоблокировки не будет.3. Включить свойство «БлокироватьДляИзменения» используемого регистра сведений.4. Не использовать Движения.Записать() в явном виде.

Вопрос 10.12
Отличие взаимоблокировки от таймаута:

1. при взаимоблокировке оба пересекающихся пользователя получат сообщение об ошибке, при таймауте — только один.2. причиной взаимоблокировки, в отличие от таймаута, может являться недостаточная производительность оборудования.3. при таймауте «жертва» получает сообщение об ошибке по умолчанию через 20 секунд, при взаимоблокировке — через 100 мс — 5 с, в некоторых случаях — немедленно.4. длительность транзакций не влияет на вероятность возникновения взаимоблокировок, влияет только на вероятность возникновения таймаутов.

Вопрос 10.13
С помощью каких событий расследуется взаимоблокировка на управляемых блокировках?

1. TDEADLOCK и SDBL2. DBMSSQL и TTIMEOUT3. TLOCK и TDEADLOCK4. EXCP и TDEADLOCK

Фактически журнал,настроенный на сбор событий TLOCK, TTIMEOUT и TDEADLOCK, является логом управляемых блокировок.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.263

Вопрос 10.14
Уменьшить вероятность возникновения взаимоблокировок могут следующие соглашения:

1. осуществлять доступ к объектам в разном порядке, избегать взаимодействия с пользователем в транзакциях, уменьшать длительность транзакций, использовать низкий уровень изоляции, использовать управление версиями строк.2. осуществлять доступ к объектам в одинаковом порядке, избегать взаимодействия с пользователем в транзакциях, уменьшать длительность транзакций, блокировка в транзакции должна изначально осуществляться с максимально необходимым уровнем изоляции.3. осуществлять доступ к объектам в одинаковом порядке, избегать взаимодействия с пользователем в транзакциях, уменьшать длительность транзакций, использовать как можно раньше минимальный уровень изоляции.

Для устранения взаимоблокировок нужно придерживаться следующих правил:
  • осуществлять запись ресурсов в одинаковом порядке;
  • избегать чтения ресурса после его записи, если включен режим разделения итогов; либо, если этого нельзя избежать, на время записи устанавливать свойство БлокироватьДляИзменения в Истину;
  • в режиме автоматического управления блокировками «1С» в запросах включать опцию ДЛЯ ИЗМЕНЕНИЯ на те ресурсы, которые будут потом записаны;
  • если есть необходимость поставить управляемую блокировку «1С» перед чтением данных ресурса, в который потом будет.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.64

Вопрос 10.15
В информации о событии TDEADLOCK:

1. в явном виде указано, кто кого ждет (DeadlockConnectionIntersections=’7 6).2. указано, кого ждет жертва (WaitConnections=6).3. не указано, кто кого ждет, эта информация есть только в сопутствующих TLOCK.

В информации о событии TDEADLOCK в явном виде указано, кто кого ждет (DeadlockConnectionIntersections=’7 6).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.264

Вопрос 10.16
Наличие буквы «I» в графе взаимоблокировки SQL Server (напр. IX):

1. говорит о том, что пересеклись диапазоны ключей индекса.2. говорит о том, что оптимизатор запроса не нашел подходящего индекса.3. говорит о том, что это не первая взаимоблокировка, и детектор взаимоблокировок работает с увеличенной частотой.4. говорит о том, что взаимоблокировка была распознана на уровне блокировок намерений.

Режим блокировки Intent — Блокировка с намерением (IS, IX, SIX).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.61

Вопрос 10.17
Есть регистр сведений с подчинением регистратору и периодичностью по позиции регистратора. Два сеанса пытаются записать одинаковые значения измерений. Т.к. регистр с подчинением регистратору и периодичностью по позиции регистратора, то запись проходит успешно. Далее в транзакции оба сеанса хотят получить срез последних по измерению. Как предотвратить управляемую взаимоблокировку? Используется платформа 8.2, управляемый режим управления блокировками, SQL Server.

1. Ставить явную управляемую блокировку «для обновления» перед записью движений в базу. Это позволит организовать очередь.2. Управляемой взаимоблокировки не будет, но будет взаимоблокировка на уровне СУБД3. Включить свойство «БлокироватьДляИзменения».4. Не использовать Движения.Записать() в явном виде.

Вопрос 10.18
Какой инструмент позволяет проводить расследование взаимоблокировок СУБД MS SQL Server?

1. Консоль кластера.2. Технологический журнал.3. ЦУП.4. Профайлер SQL Server.5. Верны ответы 3 и 4.6. Верны ответы 2, 3, 4.

Вопрос 10.19
Укажите правильный порядок событий в технологическом журнале при возникновении взаимоблокировки на управляемых блокировках:

1. TLOCK-1 участника 1 …(возможно, другие TLOCK)… TLOCK-1 участника 2 …(возможно, другие TLOCK)… TDEADLOCK …(возможно, другие TLOCK)… TLOCK-2 участника 1 …(возможно, другие TLOCK)… TLOCK-2 участника 22. TLOCK-1 участника 1 …(возможно, другие TLOCK)… TLOCK-1 участника 2 …(возможно, другие TLOCK)… TLOCK-2 участника 1 TLOCK-2 участника 2 TDEADLOCK3. TLOCK-1 участника 1 …(возможно, другие TLOCK)… TLOCK-1 участника 2 …(возможно, другие TLOCK)… TDEADLOCK TLOCK-2 участника 1 TLOCK-2 участника 24. TLOCK-1 участника 1 …(возможно, другие TLOCK)… TLOCK-1 участника 2 …(возможно, другие TLOCK)… TLOCK-2 участника 1 …(возможно, другие TLOCK)… TLOCK-2 участника 2 …(возможно, другие TLOCK)… TDEADLOCK

Вопрос 10.20
Есть регистр сведений с подчинением регистратору и периодичностью по позиции регистратора. Два сеанса пытаются записать одинаковые значения измерений. Т.к. регистр с подчинением регистратору и периодичностью по позиции регистратора, то запись проходит успешно. Далее в транзакции оба сеанса хотят получить срез последних по измерению. Как предотвратить взаимоблокировку СУБД? Используется платформа 8.3, управляемый режим управления блокировками, PostgreSQL.

1. Ставить явную управляемую блокировку «для обновления» перед записью движений в базу. Это позволит организовать очередь.2. Управляемой взаимоблокировки не будет3. Включить свойство «БлокироватьДляИзменения».4. Не использовать Движения.Записать() в явном виде.

ошибка в формулировке??

11. Нагрузочное тестирование

Вопрос 11.1
Какие задачи решают нагрузочные тесты?

1. Выявление проблем возникающих при многопользовательской работе, а также оценка производительности информационной системы при заданных параметрах модели предприятия.2. Оценка производительности системы при ее изменении.3. Оценка масштабируемости информационной системы при ее изменении.4. Анализ и интегральная оценка текущей производительности рабочей системы.5. Верны варианты 1, 2 и 3.6. Верны варианты 2, 3 и 4.


Тест-центр предназначен:
— для выявления проблем надежности, стабильности и производительности информационной системы при высокой многопользовательской нагрузке: взаимоблокировок, «состояний гонок», узких мест (bottlenecks), «зависаний», потерь данных, таймаутов и др.;— проверки отсутствия выявленных проблем после выполнения действий по их устранению;— оценки производительности информационной системы или отдельных ее частей при заданных параметрах использования:
  • для оценки применимости информационной системы;
  • формулирования эксплуатационных требований;
  • выбора оборудования;
— оценки изменения показателей производительности системы:
  • при изменении ее функциональности (доработке системы или отдельных алгоритмов);
  • при изменении конфигурации оборудования;
— оценки масштабируемости информационной системы:
  • при изменении объема информационной базы;
  • при изменении количества одновременно работающих пользователей;
  • при изменении нагрузки на систему.
Результаты выполненного с помощью Тест-центра нагрузочного тестирования позволяют выдать рекомендации:
  • по настройкам или доработкам информационной системы;
  • по выбору и настройке необходимого оборудования,
позволяющие обеспечить необходимое технологическое качество информационной системы при заявленных требованиях к информационной системе и заданном профиле ее нагрузки.Источники:
ИТС: Тест-центр

Вопрос 11.2
Какие задачи решает функциональное тестирование?

1. Проверка производительности информационной системы в многопользовательском режиме до ее эксплуатации.2. Выявление конфликтов блокировок (таймаутов, взаимоблокировок).3. Проверка работоспособности конфигурации информационной системы.4. Верны все варианты.

Функциональное тестирование — это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям. Функциональные требования определяют, что именно делает ПО, какие задачи оно решает.Источники:
Wikipedia: Функциональное тестирование

Вопрос 11.3
Из чего состоит сценарий тестирования?

1. Роль, количество пользователей, перечень операций, интенсивность, права пользователей, тип клиентского приложения.2. Роль, имя пользователя, тип клиентского приложения, количество пользователей.3. Имя пользователя, количество пользователей, тип клиентского приложения, интенсивность.4. Роль, количество пользователей, тип клиентского приложения, операции.5. Роль, количество пользователей, операции.

Вопрос 11.4
Как максимально точно определить частоту выполнения операций в информационной системе?

1. Со слов заказчика.2. По журналу регистрации.3. По данным подсистемы БСП Оценка Производительности.4. По данным системы, использующей ту же типовую конфигурацию в качестве основы решения.5. Верны ответы 1, 2, 3, 4.6. По технологическому журналу

Вопрос 11.5
Если контроль остатков мешает выполняться нагрузочному тесту:

1. его надо отключать.2. его надо выполнять, но можно игнорировать его результаты.3. нагрузочный тест надо корректировать так, чтобы остатков всегда хватало.

Вопрос 11.6
Как выбрать оборудование для проведения нагрузочного тестирования?

1. Система для нагрузочного теста должна совпадать с целевой по: варианту использования 1С:Предприятия (файловая или клиент-серверная), расположению компонентов системы, версию программных продуктов (в т.ч. СУБД, технологической платформы, конфигураций). Эталонная система работает на реальном оборудовании, параметры которого известны.2. Система для нагрузочного теста должна совпадать с целевой по: по частоте процессора, по количеству оперативной памяти, количеству ядер процессора.3. Система для нагрузочного теста должна совпадать с целевой по: по интенсивности работе пользователей, версии СУБД и 1С:Предприятия.4. Верны все варианты.

Вопрос 11.7
Что нужно знать для того, чтобы более точно посчитать требования к оборудованию для нагрузочного теста?

1. Сценарий выполнения операций, действия пользователей в рамках каждой операции, загрузку оборудования при выполнении каждой операции, количество пользователей каждой операции.2. Нагрузку на оборудование при выполнении каждой операции, состав имющегося оборудования (архитектуру системы) и количество пользователей.3. Количество пользователей и интенсивность работы.4. Количество пользователей и один или несколько вариантов используемых конфигураций, которые будут взяты за основу проектируемой системы.

Вопрос 11.8
Рекомендуется считать операцию ключевой при выполнении одного из следующих условий:

1. Операция выполняется одновременно значительным количеством пользователей (более 10)2. Операция выполняется редко и не влияет на работу ключевых пользователей и бизнес3. Операция является составной частью интерактивной операции4. Все ответы правильные5. Все ответы неправильные

Вопрос 11.9
Стоит ли тестировать нагрузочным тестом конфигурацию в режиме автоматических блокировок?

1. Нет, это технически не возможно выполнить2. Нет, т.к. ТестЦентр не работает в автоматическом режиме управления блокировками данных3. Да, если заказчик настаивает, но попытаться доказать, что это бесполезное занятие.4. Стоит всегда, если возникнут проблемы, то причины некоторых проблем могут быть заранее известны.5. Стоит всегда, т.к. в автоматическом режиме платформа лучше управляет блокировками, чем в управляемом режиме.

Вопрос 11.10
Можно ли подключиться отладчиком к работающему витруальному рабочему месту (ВРМ) в ходе теста?

1. Можно.2. Нельзя.3. Можно, если оно единственное.

Вопрос 11.11
Если во всех регистрах накопления и бухгалтерии выключено разделение итогов, и если по регистру бухгалтерии и по одному из регистров накопления была явно зафиксирована работа с пересекающимися данными и таймауты из-за этого, то при проведении нагрузочного теста:

1. есть смысл во всех регистрах накопления и бухгалтерии включить разделение итогов.2. нужно включить разделение итогов только в тех регистрах, которые себя проявили.3. могут быть применены оба подхода.

Вопрос 11.12
Укажите верное утверждение

1. Нагрузочный тест не проверяет поведение системы в определенном сценарии2. Функциональные тесты не позволяют выявлять ошибки в логике работы приложения3. Нагрузочный тест позволяет выявлять проблемы параллельной работы4. Функциональный тест не позволяет проверить правильность функционирования интерфейса5. Нет верного ответа

Термин «нагрузочный тест» надо понимать не совсем как «испытание системы высокой нагрузкой». Далеко не всегда при тесте создается значимая нагрузка, но всегда в тестировании участвуют два и более клиентских приложения, и цель такого теста – выявить проблемы параллельности и их причины.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.232

Вопрос 11.13
Сколько агентов тест-центра должно быть запущено на сервере, на котором планируется запускать виртуальные рабочие места в 4 сеансах RDP?

1. 4.2. 1.3. Агенты тест-центра предназначены не для запуска приложений на таких серверах, они решают другие задачи.4. По одному агенту на одно виртуальное рабочее место.

Агент Тест-центра — это клиентское приложение тестируемой информационной базы, которое при выполнении теста управляет работой виртуальных пользователей на том компьютере и в той сессии операционной системы, где оно запущено.Перед запуском теста нужно обеспечить, чтобы на всех компьютерах, на которых будут работать выполняющие тестовые действия виртуальные пользователи, были запущены агенты Тест-центра тестируемой информационной базы.Источники:
ИТС: Агенты Тест-центра

Вопрос 11.14
Можно ли запустить виртуальное рабочее место тест-центра с ключом, например /TestManager?

1. Нельзя.2. Можно.3. Можно, только не средствами тест-центра.

Вопрос 11.15
Какую задачу решают агенты ТестЦентра?

1. Агенты ТестЦентра используются для запуска ВРМ на конкретном сервере в конкретной сессии ОС2. Агенты ТестЦентра используются для запуска ВРМ на конкретном сервере в различных сессиях ОС3. Агенты ТестЦентра используются для получения замеров производительности по операциям сценария4. Агенты ТестЦентра используются для выполнения операций в сценарии в привилегированном режиме

Вопрос 11.16
Можно ли использовать номер порта 1540 для управления клиентом тестирования с менеджера тестирования?

1. Всегда можно.2. Нельзя, если на компьютере установлен сервер 1С:Предприятия с установками по умолчанию.3. Всегда нельзя.4. Можно, если на компьютере установлен сервер 1С:Предприятия с установками по умолчанию.

Вопрос 11.17
Мы хотим автоматизировать в сценарии нагрузочного тестирования проведение документа из открытой формы документа и открытой формы списка документа с динамическим списком. Нам необходимо встроить счетчики замеров времени выполнения операции проведения документа из формы документа, открытого из формы списка. Мы точно хотим замерить время проведения документа и время обновления списка. Куда должно быть встроено окончание замера?

1. Окончание замера явно встраивать не нужно, т.к. оно будет получено автоматически по обработчику ожидания подсистемы БСП ОценкаПроизводительности.2. В конец процедуры ПриЗаписи в модуле объекта документа3. В отдельную процедуру, исполняющуюся по обработчику ожидания, запущенного из процедуры ТЦВыполнить после выполнения проведения документа и используемого для продолжения выполнения сценария.4. В обработчик ПриАктивизацииСтроки списка на форме списке.

Вопрос 11.18
Как точно получить частоту (интенсивность) формирования определенных отчетов для сценария тестирования?

1. Проанализировав журнал регистрации2. Из технологического журнала3. С помощью подсистемы БСП ОценкаПроизводительности, встроив замер для определенного отчета4. Проанализировать сеансовые данные

Вопрос 11.19
Общий индикатор прогресса теста в ТестЦентре показывает прогресс для:

1. количества выполненных операций процентом от общего.2. прошедшего времени относительно настроек тестовой обработки.3. прошедшего времени относительно настроек «Ограничений» сценария4. процента ответивших ВРМ

Вопрос 11.20
Действия на этапе «Инициализация» (тест-центр старше 2.0):

1. выполняются каждым рабочим местом.2. выполняются только первым рабочим местом.3. выполняются рабочим местом управления тестом.

Вопрос 11.21
Нужно ли запускать отдельное приложение для запуска агента ТестЦентра, если все ВРМ, в т.ч. управляющее, запускаются из сеанса одного пользователя?

1. Да, это необходимо2. Нет, в данной ситуации можно запускать из управляющей сессии.3. Агент ТестЦентра не используется для запуска ВРМ.4. В приложении на управляемых формах — нет, не нужно, в приложении на обычных формах — нужно.

Вопрос 11.22
Что такое ВРМ в ТестЦентре?

1. Виртуальные рабочие места2. Виртуальные рабочие машины3. Виртуальные распределительные модули4. Business Process Management

Для работы виртуальных пользователей Тест-центр при каждом выполнении теста запускает виртуальные рабочие места (сокращенно — ВРМ) и «рассаживает» виртуальных пользователей по виртуальным рабочим местам.Источники:
ИТС: Виртуальные пользователи и виртуальные рабочие места

Вопрос 11.23
Обработка с ИТС, преобразующая записанные платформой 8.3 действия пользователя в код на языке 1С:Предприятия, называется:

1. UILogToScript.epf2. На ИТС нет такой обработки.3. Эти действия выполняются не обработкой, а механизмом платформы,4. XMLLogToCode.epf

Вопрос 11.24
Чтобы настройки тестовой обработки, заданные на форме обработки (по кнопке «Настроить…» справочника Роли), оказались сохраненными и применились при проведении нагрузочного теста, они должны быть:

1. сохранены программистом самостоятельно.2. реквизитами обработки.3. реквизитами формы обработки.4. переменными модуля обработки с заранее согласованными именами.

Вопрос 11.25
Требуется провести нагрузочное тестирование конфигурации в обычных формах. После встраивания ТестЦентра и подготовки обработок переходим к первому запуску. Должен ли агент и управляющий сеанс ТестЦентра быть запущен в обычных формах для запуска нагрузочного теста?

1. Агент и управляющий сеанс обязательно должны быть запущены в обычных формах2. Агенты должны быть запущены в обычных формах, но управляющий сеанс всегда запускается в управляемых формах3. Агенты должны быть запущены в управляемых формах, но управляющий сеанс всегда запускается в обычных формах4. Управляющий сеанс обязательно должен быть запущен в управляемых формах. Агент должен быть запущен в любом режиме.

Вопрос 11.26
Один менеджер тестирования 8.3 может управлять:

1. только одним клиентом тестирования.2. несколькими клиентами тестирования, всеми — через один порт.3. несколькими клиентами тестирования, каждым — через свой отдельный порт.

Один менеджер тестирования может управлять несколькими клиентами тестирования, каждым через отдельный порт (этот порт надо указывать при запуске клиента и в управляющем скрипте, выполняющемся на менеджере).Но в учебном тестировании правильный ответ 1.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.247

Вопрос 11.27
Если менеджер тестирования 8.3 управляет несколькими клиентами тестирования, и в каждом из клиентов он «нажимает» ровно одну кнопку на форме, начинающую длительную транзакцию (строки, вызывающие «нажатия», идут подряд друг за другом), то как они выполнятся?

1. Кнопки «будут нажаты» без задержек друг за другом, транзакции будут выполняться почти параллельно.2. Каждое «нажатие» будет ожидать окончания работы предыдущего клиента, транзакции будут выполняться последовательно.3. Менеджер тестирования 8.3 может управлять только одним клиентом тестирования.

В учебном тестировании правильный ответ 3.

Вопрос 11.28
Если в ходе нагрузочного теста ключевая операция начинается и заканчивается на сервере, после чего выполнение тестовой обработки продолжается, начатый замер времени:

1. закончится системой автоматически, ничего делать не надо.2. не надо было и начинать, ключевая операция не может начинаться и заканчиваться на сервере.3. надо принудительно завершить методом ОценкаПроизводительностиКлиентСервер.ЗакончитьЗамерВремени(КлючеваяОперация, ВремяНачала).4. надо принудительно завершить методом ОценкаПроизводительностиКлиентСервер.ЗакончитьЗамерВремени(КлючеваяОперация, ВремяНачала), плюс отключить обработчик ожидания, завершающий замер автоматически.

Для начала замера времени выполнения ключевой операции необходимо вызвать функциюНачатьЗамерВремени общего модуля ОценкаПроизводительностиКлиентСервер. Если операция начата на клиенте, то она завершится автоматически. Если операция начинается на сервере, то для завершения замера времени необходимо вызывать функцию ЗакончитьЗамерВремени общего модуляОценкаПроизводительностиКлиентСервер. Первый параметр функции это ключевая операция, которая завершается, а второй время ее начала.

Вопрос 11.29
Если в ходе нагрузочного теста ключевая операция проведения документа начинается и заканчивается на клиенте, после чего выполнение тестовой обработки продолжается, начатый замер времени:

1. закончится системой автоматически, ничего делать не надо.2. не надо было и начинать, ключевая операция должна заканчиваться с возвращением управления пользователю.3. надо принудительно завершить методом ОценкаПроизводительностиКлиентСервер.ЗакончитьЗамерВремени(КлючеваяОперация, ВремяНачала).4. надо принудительно завершить методом ОценкаПроизводительностиКлиентСервер.ЗакончитьРучнойЗамерВремени(Идентификатор), который нужно вызвать из обработчика ожидания в тестовой обработке.

12. Методики расследования проблем производительности

Вопрос 12.1
У проблем производительности есть два обычных подозреваемых. Это:

1. плохая работа кода и плохая работа запросов.2. недостаточная производительность оборудования и большой размер базы данных.3. неактуальный релиз платформы и несоблюдение регламента обслуживания базы.


У проблем производительности есть два обычных подозреваемых:
  • плохая работа запроса,
  • плохая работа кода.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.22

Вопрос 12.2
Наиболее точный и полный показатель недостаточной производительности это:

1. жалобы ключевых пользователей.2. жалобы большого количества пользователей.3. данные APDEX.4. совокупность перечисленных показателей.

Вопрос 12.3
Установка параметра «Время ожидания блокировки данных (в секундах)» :

1. влияет на время ожидания управляемых блокировок данных 1С.2. влияет на время ожидания блокировок данных СУБД.3. влияет на время ожидания объектных блокировок данных 1С.4. верны ответы 1 и 2.5. верны ответы 1, 2 и 3.

Время, которое транзакция может ждать освобождения ресурса, задается в свойствах системы. В системах на платформе «1С:Предприятие» оно по умолчанию равно 20 секундам и устанавливается в конфигураторе (Администрирование – Параметры информационной базы – Время ожидания блокировки данных (в секундах)). Это время действует и на управляемые блокировки «1С:Предприятия», и на блокировки СУБД. Если транзакции приходится ждать дольше, возникает таймаут.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.59

Вопрос 12.4
Установка значения параметра «Время ожидания блокировки данных (в секундах)» в 180 секунд:

1. Является рекомендованным.2. Является правильным способом избавления от конфликтов блокировок типа «таймаут».3. Фактически, «заметание грязи под ковер».

Увеличение времени ожидания блокировки позволяет уменьшить количество таймаутов в системе, но эффект от этого есть только в том случае, если их там и так единицы. Оно не устраняет причин возникновения таймаутов, а лишь маскирует сами таймауты. Если в информационной системе есть взаимоблокировки, редактирование этого параметра бесполезно.В подавляющем большинстве случаев изменять этот параметр не надо, следует использовать значение по умолчанию, равное двадцати секундам.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.259

Вопрос 12.5
Можно ли выполнять подсчет и анализ клиент-серверных вызовов с помощью замера производительности в конфигураторе?

1. Нет.2. Да, этот способ дает полную информацию для анализа.3. Да, но нужно учитывать, что этот режим показывает только вызовы, которые выполняются непосредственно в ходе выполнения модулей и не показывает вызовы, которые выполняются платформой вне выполнения модулей.

Вопрос 12.6
Как режим сжатия тонкого клиента влияет на производительность?

1. Усиление сжатия улучшает производительность.2. Отключение сжатия улучшает производительность.3. Использование среднего режима сжатия улучшает производительность.4. Зависит от баланса пропускной способности сети и мощности клиентского компьютера. При наличии явной зависимости подбирается экспериментально.

Вопрос 12.7
Чем плохо большое количество клиент-серверных вызовов?

1. Обслуживание вызовов клиентских приложений процессами rphost не может выполняться параллельно, поэтому минимизация числа вызов приведет к повышению скорости и параллельности работы2. Это замедляет работу — на каждый клиент-серверный вызов тратится время (в т.ч. на переустановку соединения), наиболее ощутимое на медленных каналах связи3. Это всегда приводит к увеличению нагрузки на сервер СУБД4. Верны ответы 1 и 25. Ничем не плохо

Вопрос 12.8
Как изменить режим сжатия при работе тонкого клиента?

1. В конфигураторе в меню Сервис — Параметры — Запуск 1С:Предприятия.2. Ключом командной строки /TComp [-None | -Deflate | -SDC].3. В режиме «Настройка» программы запуска 1С:Предприятия.4. В режиме «Изменить» программы запуска 1С:Предприятия (указать дополнительный параметр запуска).5. Верны ответы 1 и 2.6. Верны ответы 2 и 4.

Режим сжатия можно регулировать параметром командной строки /TComp:
  • -None — нет сжатия.
  • -Deflate — используется стандартное http сжатие по алгоритму deflate.
  • -SDC — используется собственный алгоритм сжатия.

Вопрос 12.9
Как пропускная способность канала влияет на производительность? Выберите наиболее полный правильный ответ.

1. Каждый вид клиента в условиях конкретного прикладного решения имеет свою границу пропускной способности сети, выше которой влияния на производительность нет, ниже которой производительность последовательно снижается.2. Каждый вид клиента имеет свою границу пропускной способности сети, выше которой влияния на производительность нет, ниже которой производительность последовательно снижается.3. Производительность последовательно снижается при снижении ширины канала на всем диапазоне. Каждый вид клиента имеет свой коэффициент снижения.4. Производительность последовательно снижается при снижении ширины канала на всем диапазоне. Каждый вид клиента имеет свой коэффициент снижения, зависящий также от конкретного прикладного решения.

Официальных требований к пропускной способности сети нет. Все зависит от выполняемых операций и вида клиента.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.156

Вопрос 12.10
Каковы рекомендованные требования к пропускной способности сети для производительной работы 1С?

1. 1 гигабит в секунду.2. 100 мегабит в секунду.3. 10 мегабит в секунду.4. Требований нет, т.к. они определяются из задачи работоспособности, а не производительности. Единственное требование — сеть должна быть работоспособной.

При решении задач проектирования центров обработки данных под ландшафт «1С» часто задают вопрос о параметрах пропускной способности сети, необходимых для комфортной работы пользователей. Ответ: таких требований нет.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.153

Вопрос 12.11
При прочих равных более существенным для производительности сервера приложений 1С для целей многозадачной работы является:

1. Тактовая частота процессоров.2. Количество процессоров.3. Количество ядер у одного процессора.4. Суммарное количество ядер процессоров.

Желательно использование многопроцессорных или многоядерных машин, так как наличие нескольких процессоров/ядер благотворно сказывается на пропускной способности кластера серверов «1С:Предприятия», особенно в случае интенсивной работы нескольких пользователей.Источники:
ИТС: Требования к аппаратуре и программному обеспечению

Вопрос 12.12
Влияет ли антивирусное программное обеспечение на производительность клиент-серверного режима работы 1С?

1. Нет.2. Может существенно влиять и на сервере, и на клиенте.3. Польза от антивирусов на сервере компенсирует незначительное снижение производительности.4. Только на клиенте.

На серверах терминалов, приложений «1С» и СУБД может быть задействовано встроенное в ОС или дополнительно установленное программное обеспечение, повышающее безопасность: файрволл, антивирус и пр. Довольно часто работа этого программного обеспечения оказывает существенное негативное влияние на работу системы на платформе «1С:Предприятие», т. е. это программное обеспечение является обычным подозреваемым при расследовании проблем производительности.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.157

Вопрос 12.13
Какой командой проверяется отсутствие промежуточных точек маршрутизации?

1. ping имя_целевого_хоста2. tracert имя_целевого_хоста3. ipconfig /all4. nbtstat -R

Проверить, есть ли в сети маршрутизация, можно с помощью команды tracert, запустив ее, например, с терминального сервера на сервер (серверы) приложений «1С», а с сервера (или с серверов, если их несколько) приложений «1С» на сервер СУБД.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.157

Вопрос 12.14
Влияют ли межсетевые экраны на производительность клиент-серверного режима работы 1С?

1. Нет.2. Могут влиять, до некоторого снижения производительности…3. Польза от межсетевых экранов компенсирует незначительное снижение производительности.4. Могут влиять, вплоть до полной неработоспособности.

На серверах терминалов, приложений «1С» и СУБД может быть задействовано встроенное в ОС или дополнительно установленное программное обеспечение, повышающее безопасность: файрволл, антивирус и пр. Довольно часто работа этого программного обеспечения оказывает существенное негативное влияние на работу системы на платформе «1С:Предприятие», т. е. это программное обеспечение является обычным подозреваемым при расследовании проблем производительности.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.157

Вопрос 12.15
Оказывает ли влияние на производительность размещение серверов ландшафта 1С в разных подсетях?

1. Если маршутизаторы физические — да, влияние возможно.2. Если маршрутизаторы виртуальные — да, влияние возможно.3. Верны ответы 1 и 2.

Вообще говоря, лучше, если все серверы, относящиеся к ландшафту «1С», находятся в одном сегменте сети. Это снимает целый класс потенциальных проблем.Дело в том, что при прохождении пакета из одной подсети в другую через роутер на нем обязательно происходит задержка пакета на его обработку. Чаще всего и в основном потери времени идут на логирование, но могут быть задержки и на других программных надстройках роутера. Длинные пакеты задерживаются на большее время, чем короткие.Однако и в том случае, если речь идет о VLAN, полностью снимать вопрос о непричастности маршрутизации к проблемам не стоит.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.157

Вопрос 12.16
Какие показатели производительности можно увидеть в окне показателей производительности? Выберите наиболее полный правильный ответ.

1. Количество вызовов сервера, длительность вызова сервера, объем отправленных данных, объем принятых данных.2. Количество вызовов сервера (текущее и накопленное).3. Текущее и накопленное: количество вызовов сервера, длительность вызова сервера, объем отправленных и неотправленных данных, объем принятых и непринятых данных.4. Текущее и накопленное: количество вызовов сервера, длительность вызова сервера, объем отправленных данных, объем принятых данных. В отдельных окнах — историю текущих и историю накопленных значений.5. Текущее и накопленное: количество вызовов сервера, длительность вызова сервера, объем отправленных и неотправленных данных, объем принятых и непринятых данных. В отдельных окнах — историю текущих и историю накопленных значений.

По умолчанию окно состоит из двух счетчиков: Текущие вызовы и Накопленные вызовы:
  • Текущие вызовы – показывает состояние вызовов сервера с некоторого момента времени: с начала работы механизма или с последнего пользовательского действия, после которого 0,2 сек. не было других пользовательских действий.
  • Накопленные вызовы – показывает состояние вызовов сервера с начала работы механизма или с последнего его принудительного сброса через команду контекстного меню.
С помощью команды Настройка… из контекстного меню окна вызовов сервера можно открыть диалоговое окно с настройкой показателей производительности:
  • Количество вызовов сервера;
  • Длительность вызовов сервера;
  • Объем отправленных данных;
  • Объем принятых данных.
Также контекстное меню окна содержит следующие команды:
  • Очистить накопленные – очищает счетчик накопленных вызовов;
  • История текущих… – открывает окно с историей счетчика текущих вызовов;
  • История накопленных… – открывает окно с историей счетчика накопленных вызовов.
Источники:
ИТС: Отображение вызовов сервера

Вопрос 12.17
Сервера 1С и СУБД находятся в разных виртуальных подсетях. Маршрутизация осуществляется средствами активного оборудования. Достаточно ли беспроблемного прохождения команды ping для исключения возможного негативного влияния маршрутизации на производительность комплекса?

1. Да.2. Нет, короткие пакеты не логируются, длинные могут задерживаться на логирование.3. Нет, правила фильтрации пакетов для разных протоколов могут быть разными.4. Нет, правила фильтрации и обработки пакетов для разных портов могут быть разными.5. Верны ответы 2 и 3.6. Верны ответы 2, 3, 4.

Дело в том, что при прохождении пакета из одной подсети в другую через роутер на нем обязательно происходит задержка пакета на его обработку. Чаще всего и в основном потери времени идут на логирование, но могут быть задержки и на других программных надстройках роутера. Длинные пакеты задерживаются на большее время, чем короткие. В результате штатными средствами (ping) эта задержка не определяется, т. к. там по умолчанию очень короткие пакеты, которые, если нет проблем, проходят быстро. А длинные пакеты (работа с СУБД и обмен между серверами) задерживаются, и это – нормальная работа.Активное сетевое оборудование может вести себя подобно сотруднику ДПС на посту: задерживать, логировать и фильтровать подозрительные пакеты. Это зависит от того, какие надстройки задействованы (кстати, не обязательно они задействованы силами системных администраторов заказчика, иногда они включены по умолчанию).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.157

Вопрос 12.18
Как получить точное число клиент-серверных вызовов?

1. С помощью окна показателей производительности.2. В консоли кластера.3. В отладчике в режиме замера производительности с включенной серверной частью.4. Верны ответы 1 и 3.5. С помощью журнала регистрации

Отображение вызовов сервера — данный механизм предназначен для отладки клиент-серверной системы и оценки объема данных, передаваемых между клиентом и сервером.В отладчике можно посмотреть число клиент-серверных вызовов, но только для вызовов кода. Не учитываются вызовы платформы.Источники:
ИТС: Отображение вызовов сервера
ИТС: Замер производительности

Вопрос 12.19
Как включить режим отображения показателей производительности?

1. В конфигураторе в меню Сервис — Параметры — Запуск 1С:Предприятия.2. Ключом командной строки /DisplayPerformance.3. В режиме «Настройка» программы запуска 1С:Предприятия.4. В режиме «Изменить» программы запуска 1С:Предприятия (указать дополнительный параметр запуска).5. Верны ответы 2 и 4.6. Верны ответы 1, 2 и 4.

Режим можно включить с помощью соответствующей настройки параметров конфигуратора (см. здесь) или ключа командной строки /DisplayPerformance. Отображение показателей производительности также можно включить и в режиме 1С:Предприятие с помощью флажка Отображать показатели производительности диалога Сервис – Параметры. По умолчанию механизм выключен.Источники:
ИТС: Отображение вызовов сервера

Вопрос 12.20
Укажите правильную формулу, указывающую насколько изменится Apdex всей информационной системы в случае оптимизации выбранной ключевой операции? Приняты обозначения:
• N — общее число выполнений данной операции;
• NS — число выполнений операции с временем от 0 до Т;
• NT — число выполнений операции с временем от Т до 4Т;
• NF — число выполнений операции с временем больше 4Т;
• Т — требуемое время, за которое должна выполняться операция;
• Nall — число выполнений всех операций.

1. DeltaApdex = (NF + NT/2)/Nall2. DeltaApdex = (NS + NT/2)/N3. DeltaApdex = (NS + Nall/2)/NT4. DeltaApdex = (Nall + NT/2)/N5. DeltaApdex = (NF + N/2)/Nall6. DeltaApdex = (N + NT/2)/Nall

13. Методики расследования проблем параллельной работы

Вопрос 13.1
Разделение итогов регистров позволяет повысить параллельность операций:

1. записи2. чтения3. проверки итогов4. верны ответы 1 и 2.

Набор записей регистра накопления (остатков) при разрешенном и включенном режиме разделения итогов — возможна параллельная запись.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.69

Вопрос 13.2
Включение режима разделения итогов при использовании платформы 8.2:

1. увеличивает производительность информационной системы.2. увеличивает производительность информационной системы, но повышает нагрузку на оборудование.3. увеличивает параллельность операций записи, но снижает параллельность операций чтения.4. увеличивает параллельность операций записи, но на практике это существенно только для тех транзакций, где нет чтения записываемых данных.

Вопрос 13.3
После включения режима разделения итогов регистра в системе на платформе 8.2:

1. достаточно включить флажок в свойствах соответствующего регистра, больше ничего делать не нужно2. все записи в регистр потребуется выполнять со свойством «БлокироватьДляИзменения = Истина».3. записи в регистр потребуется выполнять со свойством «БлокироватьДляИзменения = Истина» в случаях, когда после записи выполняется чтение итогов регистра.

Вопрос 13.4
После включения режима разделения итогов регистра накопления «ТоварыВРезерве» в системе на платформе 8.2 начали возникать взаимоблокировки. Укажите способ решения проблемы.

1. Способа не существует, это неизбежная проблема такого режима работы.2. Все операции с данным регистром проводить с использованием объекта «БлокировкаДанных»3. Все операции с данным регистром проводить с использованием свойства «БлокироватьДляИзменения».4. Все операции записи в данный регистр проводить с установкой свойства «БлокироватьДляИзменения = Ложь».5. Все операции записи в данный регистр проводить с установкой свойства «БлокироватьДляИзменения = Истина», если после записи выполняется чтение итогов регистра.

В «1С:Предприятие» взаимоблокировки стали часто возникать после появления технологии разделения итогов, и происходит это чаще всего в двух случаях:
  • Проведение документа, контроль остатков после записи движений. Если разделение итогов включено, то запись движений осуществляется с учетом сплиттера (разделителя итогов, не путать с разделителем данных), и поэтому может производиться параллельно, даже при полностью совпадающих значениях периода, счета и измерений (рассматриваем регистр бухгалтерии). Но при контроле остатков сплиттер смысла не имеет, то есть считываются все итоги по данным значениям периода, счета и измерений.
  • Перепроведение документа, контроль остатков или другое чтение (расчет себестоимости списания) до записи движений или после него, не важно. Если разделение итогов включено, то запись движений при их удалении осуществляется с учетом сплиттера. Дальнейшее чтение приводит к взаимоблокировке.
В этом случае с взаимоблокировкой надо бороться с помощью свойства БлокироватьДляИзменения, которое есть у наборов записей регистров бухгалтерии и регистров накопления.

Вопрос 13.5
Когда снимаются разделяемые управляемые блокировки?

1. Сразу после выполнения запроса2. В конце транзакции3. В нужный момент с помощью метода Разблокировать объекта БлокировкаДанных4. Сразу после выполнения чтения в объектной технике

Вопрос 13.6
Независимое разделение данных позволяет:

1. использовать одну базу с одной конфигурацией для учета в нескольких организациях или подразделениях, при этом доступ к разделённым данным возможен только в пределах своей области данных.2. использовать одну базу с различными конфигурациями для учета в нескольких организациях или подразделениях, при этом доступ к разделённым данным возможен только в пределах своей области данных для всех пользователей.3. использовать одну базу с различными конфигурациями для учета в нескольких организациях или подразделениях, при этом доступ к разделённым данным возможен как в пределах своей области, так и во всей базе (в зависимости от настроек пользователя).4. использовать одну базу с одной конфигурацией для учета в нескольких организациях или подразделениях, при этом доступ к разделённым данным возможен как в пределах своей области, так и во всей базе (в зависимости от настроек пользователя).

Вопрос 13.7
Независимое разделение данных в информационной базе применяется:

1. ко всем объектам метаданных конфигурации автоматически после добавления общего реквизита.2. только к константам, справочникам, документам, регистрам всех видов и бизнес-процессам автоматически после добавления общего реквизита.3. только к выбранным константам, справочникам, документам, регистрам всех видов и бизнес-процессам.4. только к выбранным планам обмена, регламентным заданиям, константам, справочникам, документам, планам счетов, планам видов характеристик, планам видов расчета, регистрам всех видов, бизнес-процессам и задачам.5. только к пользователям информационной базы при включенном разделении аутентификации

В состав разделителя могут входить следующие объекты конфигурации:
  • константы,
  • справочники,
  • документы,
  • последовательности,
  • журналы документов,
  • планы видов характеристик,
  • планы счетов,
  • планы видов расчета,
  • бизнес-процессы,
  • задачи,
  • регистры сведений,
  • регистры накопления,
  • регистры бухгалтерского учета,
  • регистры расчета,
  • планы обмена,
  • регламентные задания,
  • пользователи информационной базы
Источники:
Механизм разделения данных

Вопрос 13.8
Независимое и совместное разделение данных наиболее оптимально с точки зрения производительности подходит для решения задачи:

1. использовать одну базу с одной конфигурацией для учета в нескольких организациях или подразделениях, при этом доступ к разделённым данным возможен только в пределах своей области данных.2. использовать одну базу с различными конфигурациями для учета в нескольких организациях или подразделениях, при этом доступ к разделённым данным возможен только в пределах своей области данных для всех пользователей.3. использовать одну базу с различными конфигурациями для учета в нескольких организациях или подразделениях, при этом доступ к разделённым данным возможен как в пределах своей области, так и во всей базе (в зависимости от настроек пользователя).4. использовать одну базу с одной конфигурацией для учета в нескольких организациях или подразделениях, при этом доступ к разделённым данным возможен как в пределах своей области, так и во всей базе (в зависимости от настроек пользователя).

Вопрос 13.9
Для независимого разделения данных в информационной базе используется:

1. объект метаданных «общий реквизит» в значении «Независимо».2. объект метаданных «общий реквизит» в значении «Автоматически».3. объект метаданных «Константа.ИспользоватьНезависимоеРазделениеДанных».4. свойство конфигурации «Использовать независимое разделение данных».5. объект метаданных «общий реквизит» с использованием разделяемых данных «Независимо».

Вопрос 13.10
Независимое и совместное разделение данных в информационной базе применяется:

1. ко всем объектам метаданных конфигурации автоматически после добавления общего реквизита.2. только к константам, справочникам, документам, регистрам всех видов и бизнес-процессам автоматически после добавления общего реквизита.3. только к выбранным константам, справочникам, документам, регистрам всех видов и бизнес-процессам.4. только к выбранным планам обмена, регламентным заданиям, константам, справочникам, документам, планам счетов, планам видов характеристик, планам видов расчета, регистрам всех видов, бизнес-процессам и задачам.5. только к пользователем при включении разделения аутентификации

Вопрос 13.11
Для независимого разделения данных в информационной базе используется:

1. объект метаданных «общий реквизит» с использованием разделяемых данных «Независимо и совместно».2. объект метаданных «общий реквизит» в значении «Независимо и совместно».3. объект метаданных «общий реквизит» в значении «Автоматически».4. объект метаданных «Константа.ИспользоватьНезависимоеИСовместноеРазделениеДанных».5. свойство конфигурации «Использовать независимое и совместное разделение данных».

Вопрос 13.12
Использование режима разделения данных «независимо и совместно» в информационной базе в качестве способа ограничения доступа к данным рядовых пользователей при полном доступе для руководства организации при использовании версий 8.3.5 и младше:

1. технически невозможно.2. технически возможно, но производительность работы пользователей с полным доступом может оказаться неприемлемо низка.3. технически возможно, но производительность работы пользователей с ограниченным доступом может оказаться неприемлемо низка.

Вопрос 13.13
В случае необходимости создания информационной системы с ограничением доступа рядовых пользователей к части данных, но при полном доступе руководства, лучше рассматривать вариант:

1. RLS.2. разделения данных «независимо и совместно».3. разделения данных «независимо».4. настройку прав доступа можно регулировать только на уровне объектов метаданных.

Вопрос 13.14
В неразделенном режиме низкая производительность информационной системы, использующей независимое и совместное разделение данных, для пользователей, имеющих доступ ко всем областям данных, обусловлена:

1. Отсутствием подходящих индексов в СУБД, т.к. разделитель идёт первым полем для всех индексов таблиц разделённых данных, и для таких пользователей чтение разделённых данных всегда будет происходить сканированием таблиц.2. Тяжелыми запросами к СУБД, т.к такие пользователи обычно запрашивают большой объём данных.3. Неоптимальными запросами к СУБД, т.к. платформа неоптимально отрабатывает перевод такого запроса на язык СУБД.4. Неоптимальными запросами к СУБД, т.к. разделитель идёт первым полем для всех индексов таблиц разделённых данных, и для таких пользователей чтение разделённых данных, как правило, будет происходить сканированием таблиц.

Примечание: Теоретически эта проблема может быть решена путем добавления индексов, такихже по составу, но без разделителя, если используется независимый и совместный разделитель. До реализации дело пока не дошло. Настольная книга 1С.Эксперта по технологическим вопросам, стр. 77

Вопрос 13.15
Как проверить, что при проведении документа не возникает избыточной блокировки?

1. Настроить технологический журнал и убедиться в отсутствии ошибок блокировок.2. Использовать ЦУП.3. Использовать ЦКК.4. Провести два таких документа с непересекающимися данными, при этом вставать под отладкой в конце транзакции проведения одного из них.5. По отсутствию операторов сканирования в планах запросов.

Вопрос 13.16
При включении использования текущих итогов параллельность записи наборов регистров бухгалтерии и накопления (остатков), отличающихся только периодом (месяцем) в управляемом режиме управления блокировками (разделение итогов запрещено):

1. Прекращается.2. Остается.

Вопрос 13.17
При включении использования текущих итогов параллельность записи наборов регистров бухгалтерии и накопления (остатков), отличающихся только периодом (месяцем) в автоматическом режиме управления блокировками, разделение итогов выключено:

1. прекращается.2. остается.

Вопрос 13.18
Может ли одна транзакция читать константу, а другая в это же время ее записывать?

1. Нет.2. Да, если используется 8.3 без режима совместимости с 8.2, управляемый режим управления блокировками и MS SQL Server 2005 и старше.3. Да, если используется 8.2.14 и старше и MS SQL Server 2005 и старше.4. Да в любом случае.

Вопрос 13.19
Может ли одна транзакция записывать одну константу, а другая в это же время записывать другую?

1. Нет.2. Да, если используется 8.3, управляемый режим управления блокировками и MS SQL Server 2005 и старше.3. Да, если используется 8.2.14 и старше без режима совместимости, но только в управляемом режиме управления блокировками.4. Да в любом случае.5. Да, если используется 8.2.14 и старше без режима совместимости.

Вопрос 13.20
Выполнение какого действия является узким местом при перемещении границы последовательности?

1. Регистрация документа в последовательности.2. Любое перемещение границы назад.3. Любое перемещение границы вперед.4. Только перемещение границы вперед, если граница находится не на последнем документе, блокируется диапазон от границы до конца последовательности.5. Только перемещение границы назад, если граница находится на последнем документе, блокируется диапазон от нового значения границы до последнего документа.6. Верны ответы 2 и 3.

Вопрос 13.21
Каковы возможности по параллельной записи для наборов записей регистра расчета с использованием фактического периода действия?

1. Возможна параллельная запись, если отличается период действия (месяц) или измерение, у которого стоит признак «базовое».2. Возможна параллельная запись, если отличается период действия (месяц).3. Возможна параллельная запись, если отличается период действия (месяц) или любое измерение4. Возможна параллельная запись, если отличается период действия (месяц) или измерение, у которого стоит признак «ведущее».

Вопрос 13.22
Какая таблица является узким местом при перемещении границы последовательности?

1. Таблица записей регистрации документов в последовательности.2. Таблица границ последовательности.3. Обе таблицы.4. При перемещении назад — таблица границ последовательности, при перемещении вперед — могут быть как обе таблицы, так и только таблица границ последовательности.

Вопрос 13.23
Необходимо обеспечить отражение документов в некотором учете строго последовательно. При этом прогнозируется высокая параллельность работы. Какой вариант реализации выбрать для уменьшения числа возможных проблем параллельной работы?

1. Использовать последовательности, двигать границу последовательности при проведении документов.2. Использовать последовательности, но отключить движение границы последовательности при проведении документов. Восстанавливать работу с последовательностью в фоне.3. Не использовать последовательности, заменить последовательности регистром накопления4. Использовать механизм платформы Автонумерация для решения этой задачи

Вопрос 13.24
Каковы возможности по параллельной записи для наборов записей регистра бухгалтерии? Разделение итогов выключено. Текущие итоги не используются. Режим управления блокировками — управляемый.

1. Возможна параллельная запись, только если отличается период (месяц), или счет, или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается счет, или хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Невозможна параллельная запись.

Вопрос 13.25
Каковы возможности по параллельной записи для наборов записей регистра бухгалтерии? Разделение итогов выключено. Используются текущие итоги. Режим управления блокировками — управляемый.

1. Возможна параллельная запись, только если отличается период (месяц), или счет, или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается счет, или хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Невозможна параллельная запись.

Вопрос 13.26
Каковы возможности по параллельной записи для наборов записей регистра бухгалтерии? Разделение итогов разрешено и включено.

1. Возможна параллельная запись, только если отличается период (месяц), или счет, или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается счет, или хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Невозможна параллельная запись.

Вопрос 13.27
Каковы возможности по параллельной записи для наборов записей регистра сведений (независимого непериодического)?

1. Возможна параллельная запись, если отличается хотя бы одно измерение.2. Возможна параллельная запись совпадающих данных, если включено разделение итогов.3. Верны ответы 1 и 2.4. Параллельная запись невозможна.

Вопрос 13.28
Каковы возможности по параллельной записи для наборов записей регистра накопления (остатков)? Разделение итогов выключено. Текущие итоги не используются. Дата актуальности итогов установлена раньше, чем период любой записи наборов записей. Режим управления блокировками — управляемый.

1. Возможна параллельная запись, только если отличается период (месяц), или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Невозможна параллельная запись.

Вопрос 13.29
Каковы возможности по параллельной записи для наборов записей регистра накопления (остатков)? Разделение итогов выключено. Используются текущие итоги. Режим управления блокировками — управляемый.

1. Возможна параллельная запись, только если отличается период (месяц), или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Невозможна параллельная запись.

Набор записей регистра накопления (остатков), если разделение итогов выключено и используются текущие итоги — возможна параллельная запись, если отличается хотя бы одно измерение.Вопрос параллельности по периоду при включении и отключении текущих итогов в регистрах накопления (остатков) и регистрах бухгалтерии регулируется управляемыми блокировками «1С». Понятно, что установка управляемых блокировок параллельность улучшить не может, только снизить. Это и происходит с параллельностью по периоду в управляемом режиме, причем поведение системы в этом вопросе зависит от версии платформы и от установленного режима совместимости.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.69

Вопрос 13.30
Каковы возможности по параллельной записи для наборов записей регистра накопления (остатков)? Разделение итогов разрешено и включено.

1. Возможна параллельная запись, только если отличается период (месяц), или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Невозможна параллельная запись.

Набор записей регистра накопления (остатков) при разрешенном и включенном режиме разделения итогов — возможна параллельная запись.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.69

Вопрос 13.31
Каковы возможности по параллельной записи для наборов записей регистра накопления (оборотов)? Разделение итогов выключено. Текущие итоги не используются. Режим управления блокировками — управляемый. Граница актуальности итогов установлена позже любой записи в наборах записей.

1. Возможна параллельная запись, только если отличается период (месяц), или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Невозможна параллельная запись.

Набор записей регистра накопления (оборотов), если разделение итогов выключено — возможна параллельная запись, если отличается период (месяц) или хотя бы одно измерение.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.69
Правильный ответ 1, но в тестировании это ошибка и там правильный 2 - проверить!

Вопрос 13.32
Каковы возможности по параллельной записи для наборов записей регистра накопления (оборотов)? Разделение итогов выключено. Используются текущие итоги. Режим управления блокировками — управляемый.

1. Возможна параллельная запись, только если отличается период (месяц), или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Невозможна параллельная запись.

Набор записей регистра накопления (оборотов) при разрешенном и включенном режиме разделения итогов — возможна параллельная запись.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.69
у оборотов нет текущих итогов - кто знает что за дичь?

Вопрос 13.33
Каковы возможности по параллельной записи для наборов записей регистра накопления (остатков)? Разделение итогов разрешено и включено.

1. Возможна параллельная запись, только если отличается период (месяц), или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается, хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Невозможна параллельная запись.

Вопрос 13.34
Каковы возможности по параллельной записи для наборов записей регистра сведений (независимого периодического)? Флаги «разрешить итоги» не используются.

1. Возможна параллельная запись, только если отличается период (месяц), или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Невозможна параллельная запись.

Вопрос 13.35
Каковы возможности по параллельной записи для наборов записей регистра расчета без использования фактического периода действия?

1. Возможна параллельная запись, только если отличается период (месяц), или хотя бы одно измерение.2. Возможна параллельная запись, только если отличается хотя бы одно измерение.3. Возможна параллельная запись совпадающих данных.4. Возможна параллельная запись наборов с разными регистраторами5. Невозможна параллельная запись.

Вопрос 13.36
Каковы возможности по параллельной записи для наборов записей регистра сведений (подчиненного регистратору)? Флаги «Разрешить итоги» не используются.

1. Возможна параллельная запись, только если отличается хотя бы одно измерение.2. Возможна параллельная запись совпадающих данных.3. Возможна параллельная запись наборов с разными регистраторами.4. Невозможна параллельная запись.

Вопрос 13.37
Каковы возможности по параллельной записи для элементов объектных типов: справочников, документов, планов видов характеристик, планов счетов (т. е. счета), планов видов расчета, бизнес-процессов, задач, планов обмена (т. е. узлов обмена)?

1. Возможна параллельная запись разных объектов, принадлежащих к одному типу при использовании MS SQL Server.2. Возможна параллельная запись разных объектов, принадлежащих к одному типу, но при использовании MS SQL Server и автоматическом режиме блокировок надо учитывать возможность Range блокировок.3. Возможна параллельная запись разных объектов, принадлежащих к одному типу, но при использовании PostgreSQL и Oracle в автоматическом режиме блокировок — невозможна.4. Верны ответы 1 и 3.5. Верны ответы 2 и 3.

Вопрос 13.38
Какие симптомы (или симптом) могут указывать на возникновение очередей в информационной системе?

1. Высокая нагрузка (но допустимая, не перегрузка) на оборудование2. Частые ошибки о превышении времени предоставления управляемых блокировок3. Длительное (более 100 секунд) выполнение запросов4. Значительный объем сеансовых данных5. Частые ошибки на объектных блокировках6. Верны ответы 2 и 3

Вопрос 13.39
Каковы обычные подозреваемые при решении проблем параллельности?

1. Избыточная управляемая блокировка или блокировка данных на уровне СУБД.2. Не справляется оборудование.3. Срабатывает критическая секция (неподконтрольная проблема).4. Медленная работа кода вне транзакции.5. Верны ответы 1 и 2.6. Верны ответы 1, 2 и 3.

Встретившись с проблемами параллельности, оценку трудозатрат надо давать с учетом этой особенности таких задач.Обычные подозреваемые:
  • избыточная блокировка данных в «1С» или в СУБД.
  • не справляется оборудование.
Может, однако, случиться и такое, что сработает критическая секция (участок кода, который одновременно может выполняться только в одном месте), например:
  • автонумератор,
  • драйвер HASP-ключа и др.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.24

Вопрос 13.40
Что может находиться за «расшитым» «бутылочным горлышком»?

1. Каскад из неопределенного числа других «бутылочных горлышек».2. «Бутылочное горлышко» всегда бывает только одно.3. Не следует «расшивать» «бутылочные горлышки».4. Верны ответы 1 и 3.

Для решения проблем параллельности всегда надо искать«бутылочное горлышко». Однако надо понимать, что за одним «горлышком» может быть целый каскад следующих «горлышек», и, вообще говоря, количество уровней может быть непредсказуемым. Поэтому, встретившись с проблемами параллельности, оценку трудозатрат надо давать с учетом этой особенности таких задач.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.24

Вопрос 13.41
Чтобы ответить на вопрос: имеем мы дело с проблемой производительности или проблемой параллельности:

1. найти наиболее типичного представителя действий, выполненных по ключевой операции, для которой требуется улучшать APDEX, и в нерабочее время его выполнить.2. найти наиболее длительное из действий, выполненных по ключевой операции, для которой требуется улучшать APDEX, и в рабочее время его выполнить в копии базы.3. повторить последовательность операций на другом стенде с известными характеристиками.

Ключевым пунктом является вопрос: имеем мы дело с проблемой производительности или проблемой параллельности.Чтобы подготовить ответ на этот вопрос, нужно найти наиболее типичного представителя действий, выполненных по ключевой операции, для которой требуется улучшать APDEX, и в нерабочее время его выполнить.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.20
14. Стандарты разработки

Вопрос 14.1
В общем случае, при объединении в запросе результатов нескольких запросов следует использовать конструкцию:

1. «ОБЪЕДИНИТЬ ВСЕ».2. «ОБЪЕДИНИТЬ».


В общем случае при объединении в запросе результатов нескольких запросов следует использовать конструкцию «ОБЪЕДИНИТЬ ВСЕ», а не «ОБЪЕДИНИТЬ», поскольку во втором варианте при объединении запросов полностью одинаковые строки заменяются одной, на что затрачивается дополнительное время, даже в случаях, когда одинаковых строк в запросах заведомо быть не может.
Исключением являются ситуации, когда выполнение замены нескольких одинаковых строк одной является необходимым условием выполнения запроса.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.292
ИТС: Использование ключевых слов «ОБЪЕДИНИТЬ» и «ОБЪЕДИНИТЬ ВСЕ» в запросах

Вопрос 14.2
Всегда ли можно переносить условие из секции ГДЕ в параметры фильтрации виртуальной таблицы?

1. Да, всегда.2. Нет, никогда.3. Не всегда можно в параметры таблиц СрезПервых и СрезПоследних.4. Не всегда можно в параметры таблиц Обороты.5. Верны ответы 3 и 4.

Вопрос 14.3
Вызов модальных окон в транзакциях:

1. жизненная необходимость, иначе пользователь не увидит и не прочитает то, что ему выводит система.2. может применяться, если реальная польза от использования превышает возможный вред.3. всегда — грубая ошибка.4. невозможно, т.к. это действие запрещено технологической платформой.

Открытие модальных окон в транзакции – это почти всегда грубая ошибка. Исключением является, пожалуй, лишь случай, когда окно открывается намеренно для целей гарантированного воспроизведения ошибок (конфликтов блокировок).Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.266

Вопрос 14.4
Вынос в серверный общий модуль тысячекратно выполняемой процедуры, вычисляющей строковую переменную (это единственное, что она делает):

1. экономит время и ресурсы, делает код изящнее, переносит нагрузку на сервер.2. если тысячекратный вызов идет с клиента, замедляет работу и создает ненужную нагрузку на оборудование.3. неправильно дублировать в вызывающем клиентском модуле.

Вопрос 14.5
Если в запросе используется получение значения через точку от поля составного ссылочного типа, то при выполнении этого запроса:

1. будет выполняться соединение со всеми таблицами объектов, входящими в этот составной тип. В результате SQL текст запроса чрезвычайно усложняется, и при его выполнении оптимизатор СУБД может выбрать неоптимальный план.2. будет выполняться соединение со всеми таблицами объектов, входящими в этот составной тип. В результате количество таблиц в запросе может превысить 256, что для SQL Server приведет к ошибке, в других СУБД может привести к длительной работе запроса, расцениваемой как зависание.3. сильно упрощается работа для оптимизатора СУБД, поскольку он точно знает статистику по всем используемым таблицам.4. верны ответы 1 и 2.

Если в запросе используется получение значения через точку от поля составного ссылочного типа, то при выполнении этого запроса будет выполняться соединение со всеми таблицами объектов, входящими в этот составной тип. В результате текст запроса SQL чрезвычайно усложняется, и при его выполнении оптимизатор СУБД может выбрать неоптимальный план. Это может привести к серьезным проблемам производительности и даже к неработоспособности запроса в отдельных случаях.
В случае с MS SQL Server 2005 и ранее, то есть ограничение на количество таблиц в запросе — 256.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.230
Ограничение SQL 2005 на открытие 256 таблиц

Вопрос 14.6
Если в запросе используется получение значения через точку от поля составного ссылочного типа, общая рекомендация заключается:

1. Указывайте максимум возможных типов для данного поля. Следует использовать типы «любая ссылка» или «ссылка на любой документ» и т.п.2. Если в запросе вам понадобилось значение, полученное через ссылку, то, возможно, это значение можно хранить непосредственно в данном объекте3. Ограничивать количество возможных типов при помощи метода ВЫРАЗИТЬ4. Верны все ответы

Как правило, для выполнения конкретного запроса в данных условиях не нужны все возможные типы данной ссылки. В этом случае следует ограничить количество возможных типов при помощи функции ВЫРАЗИТЬ. Если данный запрос является универсальным и используется в нескольких разных ситуациях (где типы ссылки могут быть разными), то можно формировать запрос динамически, подставляя в функцию ВЫРАЗИТЬ тот тип, который необходим при данных условиях. Это увеличит объем исходного кода и, возможно, сделает его менее универсальным, но может существенно повысить производительность и стабильность работы запроса.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.230

Вопрос 14.7
Если в регистре измерение указано ведущим, то при удалении объекта удаляется и запись в регистре. Если такое происходит параллельно в нескольких сеансах:

1. возникают конфликты блокировок. Для исключения требуется отказаться от непосредственного интерактивного удаления объектов в транзакциях и при интерактивных действиях пользователей, ставить только пометку на удаление.2. возникают конфликты блокировок. Стоит снять галочку «Ведущее» в настройках регистра.3. конфликтов блокировок не возникнет.4. верны варианты 1 и 2, но нужно включить разделение итогов для решения проблемы конфликтов блокировок5. верный вариант 2, но нужно включить разделение итогов для решения проблемы конфликтов блокировок

Вопрос 14.8
Если запрос содержит соединения с подзапросами, то это может привести к следующим негативным последствиям:

1. Будет сканирование таблиц.2. При некоторых условиях запрос может работать достаточно быстро, при других – очень медленно.3. Замедление запроса может быть очень значительным (до нескольких порядков).4. Верны ответы 1 и 2.5. Верны ответы 2 и 3.6. Верны ответы 1, 2, 3.

Если запрос содержит соединения с подзапросами, то это может привести к следующим негативным последствиям:
  • крайне медленное выполнение запроса при слабой загрузке серверного оборудования. Замедление запроса может быть очень значительным (до нескольких порядков);
  • нестабильная работа запроса. При некоторых условиях запрос может работать достаточно быстро, при других – очень медленно;
  • значительная разница по времени выполнения запроса на разных СУБД;
  • повышенная чувствительность запроса к актуальности и полноте статистик. Сразу после полного обновления статистик запрос может работать быстро, но через некоторое время опять замедлиться.
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.222

Вопрос 14.9
Если пользователь включен в состав трех ролей, использующих полностью одинаковые ограничения RLS на определенный справочник, сколько соединений допишет механизм RLS к запросу к этому справочнику для этого пользователя?

1. 12. 2 разных.3. 3 разных.4. 2 одинаковых.5. 3 одинаковых.

«Если в конфигурации описано несколько ролей с условиями RLS, то не следует назначать одному пользователю более одной такой роли. Если один пользователь будет включен, например, в две роли с RLS – бухгалтер и кадровик, то при выполнении всех его запросов к их условиям будут добавляться условия обоих RLS с использованием логического ИЛИ. Таким образом, даже если в исходном запросе нет условия ИЛИ, оно появится там после добавления условий RLS. Такой запрос также может выполняться неоптимально – медленно и с избыточными блокировками.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.231

Вопрос 14.10
Запись других объектов (других элементов справочиков и документов) внутри транзакции:

1. правильный способ ничего не забыть.2. правильный способ обеспечить выполнение всех действий одним нажатием кнопки пользователем.3. способ обеспечить согласованное внесение всех нужных изменений с гарантией выполнения.4. удлиняет транзакцию и становится причиной конфликтов блокировок.5. верны ответы 3 и 4.

Вопрос 14.11
Запрос ВЫБРАТЬ Товар.Наименование ИЗ Справочник.Товары КАК Товар ГДЕ Артикул = «001» ИЛИ Артикул = «002» следует заменить на запрос:

1. ВЫБРАТЬ Товар.Наименование ИЗ Справочник.Товары КАК Товар ГДЕ Артикул = «001» ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Товар.Наименование ИЗ Справочник.Товары КАК Товар ГДЕ Артикул = «002»2. заменять не следует.3. ВЫБРАТЬ ВЫБОР КОГДА Артикул = «001» ТОГДА Товар.Наименование КОГДА Артикул = «002» ТОГДА Товар.Наименование ИНАЧЕ «нет названия» КАК Наименование ИЗ Справочник.Товары КАК Товар ГДЕ Товар.Наименование <> «нет названия»

Запрос:«ВЫБРАТЬ Товар.Наименование ИЗ Справочник.Товары КАК Товар ГДЕ Артикул = «001» ИЛИ Артикул = «002»»следует заменить на запрос:«ВЫБРАТЬ Товар.Наименование ИЗ Справочник.Товары КАК Товар ГДЕ Артикул = «001»
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ Товар.Наименование ИЗ Справочник.Товары КАК Товар ГДЕ Артикул = «002»»
Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.227

Вопрос 14.12
Использование конструкций Попытка…Исключение…КонецПопытки внутри транзакций:

1. Не имеет смысла, транзакция при возникновении любой исключительной ситуации все равно откатывается.2. Не всегда оправданно, транзакция откатывается, если исключительная ситуация определена как невосстановимая.3. Иногда оправданно, транзакция не откатывается, если исключительная ситуация определена как восстановимая.4. Мешает понять, что на самом деле происходит, если исключение не логируется.5. Верны ответы 1 и 4.6. Верны ответы 2, 3 и 4.

Исключительные ситуации бывают восстановимыми (после которых можно продолжить работу и завершить транзакцию) и невосстановимыми (после которых нельзя продолжить работу и завершить транзакцию, например, ошибка базы данных). Внешне это может выглядеть как зависимость от того, как код, вызвавший исключение, и скобки Попытка… Исключение… КонецПопытки расположены относительно ближайшей к ним транзакции.Если таких ошибок много и они начинают создавать проблемы пользователям, то без модификации кода, удаления этих скобок очень трудно найти, где они произошли и почему.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.48

Вопрос 14.13
Как гарантированно избежать блокировок на «пустых таблицах» в MS SQL Server?

1. Искусственно сделать таблицы не пустыми.2. Отказаться от записи заведомо пустых движений в заведомо пустую таблицу регистра.3. Перевести конфигурацию в управляемый режим управления блокировками.4. Верны ответы 2 и 3.5. Верны ответы 1, 2 и 3.

Вопрос 14.14
Исправление очень плохо написанного, медленно выполняющиегося неоптимального кода в рамках работ по оптимизации производительности:

1. нужно проводить сразу по его обнаружении визуальным контролем текста конфигурации.2. нужно проводить по согласованию с заказчиком сразу по его обнаружении визуальным контролем текста конфигурации.3. нужно проводить сразу, если он себя проявляет в рамках проблем производительности, и его можно быстро исправить.4. нужно проводить, если он себя проявляет в рамках проблем производительности, в порядке согласованной очередности приоритетов и выявленной степени влияния на производительность.

Вопрос 14.15
К каким проблема может привести наличие OR в условии?

1. К использованию вложенных циклов, что увеличит время работы запроса.2. СУБД не сможет использовать индексы таблиц и будет выполнять сканирование, что увеличит время работы запроса и вероятность возникновения блокировок3. Польза от использования превышает возможные проблемы.

Не следует использовать ИЛИ в секции ГДЕ запроса. Это может привести к тому, что СУБД не сможет использовать индексы таблиц и будет выполнять сканирование, что увеличит время работы запроса и вероятность возникновения блокировок.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.227
База знаний 1С: Типичные причины неоптимальной работы запросов и методы оптимизации

Вопрос 14.16
Как можно избавиться от запроса в цикле?

1. Это делать не обязательно.2. Поместить коллекцию, или другую совокупность, по которой строится цикл, во временную таблицу СУБД, а затем соединить эту таблицу с таблицами основного запроса.3. Поместить коллекцию, или другую совокупность, по которой строится цикл, в параметры запроса, а затем один раз выполнить запрос с новыми параметрами.4. Поместить коллекцию, или другую совокупность, по которой строится цикл, во вспомогательный регистр сведений, а затем соединить эту таблицу с таблицами основного запроса.5. Верны ответы 2 и 3.6. Верны ответы 3 и 4.

Рекомендуется получать все необходимые однотипные данные одним запросом, вместо выполнения серии запросов.Источники:
ИТС: Многократное выполнение однотипных запросов

Вопрос 14.17
Как ограничить размер выборки в запросе?

1. Использованием параметров виртуальных таблиц.2. Переносом условий из ГДЕ в параметры виртуальных таблиц.3. Переносом условий из ГДЕ в ПО.4. Верны ответы 1 и 2.5. Верны ответы 1, 2, 3.

При работе с виртуальными таблицами нужно использовать параметры виртуальных таблиц, а не выносить условия в секцию ГДЕ.При соединении таблиц все условия и параметры, относящиеся к полям этих таблиц, ставить в условия соединения или пользоваться временными таблицами, а не оставлять их до секции ГДЕ. При этом, конечно, не должна страдать логика.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.216

Вопрос 14.18
Как определить, выполнялся отчет в транзакции или нет?

1. По событиям BEGIN TRANSACTION и COMMIT TRANSACTION в SQL Server Profiler.2. Отчет не может выполняться в транзакции.3. По тексту запроса.4. С помощью ЦУП.

Вопрос 14.19
Как получить время проведения документов из динамического списка при многопользовательской работе?

1. Подсистемой БСП ОценкаПроизводительности2. Замером на отладчике.3. По журналу регистрации.4. Проведение документов из динамического списка во многих случаях можно игнорировать, достаточно проведений из формы.5. Верны варианты 3 и 4.6. Верны все варианты.

Вопрос 14.20
Каким образом можно, не добавляя намеренно таблиц в запрос, превысить ограничение на 256 таблиц в запросе при использовани SQL Server?

1. Разыменованием через точку полей составного типа.2. Получением представлений для полей непосредственно в самом запросе (через поле Представление) для полей составного типа.3. Получением представлений для полей непосредственно в самом запросе (функцией Представление(<Имя поля>)) для полей составного типа.4. Верны ответы 1 и 2.5. Верны ответы 1, 2 и 3.

Если в запросе используется получение значения через точку от поля составного ссылочного типа, то при выполнении этого запроса будет выполняться соединение со всеми таблицами объектов, входящими в этот составной тип. В результате SQL текст запроса чрезвычайно усложняется, и при его выполнении оптимизатор СУБД может выбрать неоптимальный план. Это может привести к серьезным проблемам производительности и даже к неработоспособности запроса в отдельных случаях.При получении представлений для полей непосредственно в самом запросе (через поле «Представление» или функцией Представление(<Имя поля>)) выполняется неявное соединение с таблицей объекта, для которого получаются представления. Для полей составного типа – несколько соединений, для каждого из типов, входящих в состав. Это может приводить к увеличению времени выполнения запроса (и как следствие общего времени формирования итогового документа), а при большом количестве типов – к невозможности его выполнения в клиент-серверной версии из-за ограничения Microsoft SQL Server, по которому в запросе не может участвовать больше 256 таблиц.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.229, 294
База знаний 1С: Типичные причины неоптимальной работы запросов и методы оптимизации

Вопрос 14.21
Какое максимальное количество таблиц может участвовать в запросе при использовании Microsoft SQL Server?

1. 1282. 2563. 10244. Ограничения нет и не было.5. При работе с 8.3 ограничение не действует.6. Верны ответы 1 и 5.

На самом деле ограничение в 256 таблиц было в MS SQL Server 2005. Начиная с версии 2008 эти ограничения убрали.Источники:
Ограничение SQL 2005 на открытие 256 таблиц

Вопрос 14.22
Кардинально снижено влияние проведения документов в десятки тысяч строк на параллельность работы пользователей в системе (использовалась СУБД MS SQL Server). Что было сделано?

1. Документы на десятки тысяч строк разбиты на нужное количество документов по 1000 строк.2. Документы объединены в документы по 10000 строк.3. Перешли на платформу 8.3 без использования режима совместимости.4. Вернулись на автоматический режим управления блокировками данных.5. Верны ответы 1 и 2.

На практике можно считать, что при использовании MS SQL Server документ «1С», имеющий свыше 1 000 строк в табличной части либо делающий свыше 1 000 движений по одному регистру, теоретически может при своем проведении вызывать эскалацию блокировок, поэтому при прочих равных условиях наличие больших документов –это потенциальная проблема параллельности работы. Это не значит, что такие документы нельзя провести. Просто нужно делать это не средствами платформы, а своим кодом –в нескольких относительно небольших транзакциях, обеспечив неделимость (атомарность) операции внешними средствамиИсточники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.67

Вопрос 14.23
Конструкция Ссылка.Ссылка:

1. Платформой преобразуется в просто «Ссылка».2. В версионниках позволяет получить предыдущую версию данных.3. Является ошибкой только в коде на встроенном языке.4. Всегда является ошибкой и в коде на встроенном языке, и в запросах на языке запросов.

Никогда не использовать конструкцию Ссылка.Ссылка. Это всегда ошибка.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.217

Вопрос 14.24
Когда не следует использовать подзапросы?

1. В условиях соединения.2. В условиях.3. В качестве одной из соединяющихся таблиц.4. В параметрах виртуальных таблиц, если это не подзапрос к специально созданной временной таблице.5. Верны ответы 1, 3, 4.6. Верны ответы 1, 2, 3, 4.

Вопрос 14.25
Конфликт блокировок на «пустых таблицах» в MS SQL Server происходит:

1. В автоматическом режиме управления блокировками при записи пустых наборов в пустую таблицу.2. В автоматическом режиме управления блокировками при записи пустых наборов в непустую таблицу.3. В управляемом режиме управления блокировками при записи пустых наборов в пустую таблицу.

Такие запросы могут быть связаны с особенностями документооборота в конкретной базе. При режиме автоматического управления блокировками «1С» будет использован уровень изоляции Serializable, будет заблокирован диапазон ключа индекса (и пустая таблица при таком подходе окажется заблокированной целиком), и даже разделяемая блокировка будет сохраняться до конца транзакции, не говоря уже об исключительной.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.227

Вопрос 14.26
Ликвидация запросов в цикле:

1. это нечастый случай, когда оптимизация реально снижает нагрузку на оборудование сервера приложений 1С.2. это обычный случай, когда оптимизация увеличивает нагрузку на оборудование сервера приложений 1С.3. обычно не рассматривается как приоритетный способ оптимизации.4. должна проводиться всегда при обнаружении.

Вопрос 14.27
Может ли порядок перечисления логических выражений в составном логическом выражении влиять на то, все ли их придется проверять?

1. Да, только в коде на встроенном языке.2. Да, только в коде на языке запросов.3. Нет.4. Да, и в коде на встроенном языке, и в коде на языке запросов.

Вопрос 14.28
Обращение к реквизитам регистратора регистра (например, ТоварыНаСкладах.Регистратор.Дата):

1. влияет на производительность, только если оно в списке возвращаемых полей.2. влияет на производительность, только если оно в условиях.3. влияет на производительность, только если оно в условиях соединения.4. всегда влияет на производительность.5. не влияет на производительность.

Вопрос 14.29
Ошибки блокировок в форме списка (обычные формы):

1. невозможны.2. возможны, т.к. получение динамических списков при использовании обычных форм выполняется в транзакциях.3. возможны, если в событиях ПриПолученииДанных() и в ПриВыводеСтроки() есть запросы через объектную модель.4. возможны, если в событиях ПриПолученииДанных() и в ПриВыводеСтроки() есть запросы на языке запросов

Вопрос 14.30
Ошибки блокировок при формировании отчета:

1. невозможны, отчет выполняется вне транзакции.2. возможны при использовании построителя отчета, запрос построителя всегда выполняется в транзакции.3. возможны, например, при использовании построителя отчета, если отчету требуется получать согласованные данные (например по неделям), он будет выполняться в транзакции.4. возможны при использовании построителя отчета, если при настройке отчета активно используется разыменование в полях (например: Реализация.ЗаказПокупателя.Ответственный.Физлицо.Фамилия), он будет выполняться в транзакции.

Вопрос 14.31
Получение метаданных объекта конфигурации следует выполнять с помощью:

1. метода Метаданные() этого объекта ( СправочникОбъект.Метаданные() ), это существенно быстрее.2. путем обращения к свойству глобального контекста «Метаданные» ( Метаданные.Справочники[ИмяСправочника] ), это существенно быстрее.3. любого известного способа, т.к. ошибок не возникнет.4. не следует выполнять, это в любом случае очень длительная операция.

Получение метаданных объекта конфигурации следует выполнять с помощью метода Метаданные() этого объекта, а не путем обращения к свойству глобального контекста «Метаданные», так как второй способ существенно более медленный.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.293

Вопрос 14.32
При использовании конструкции Попытка…Исключение… КонецПопытки внутри вложенной транзакции, если внутри этой конструкции возникла восстановимая исключительная ситуация:

1. при возврате в транзакцию верхнего уровня сведения об исключительной ситуации уже не передадутся.2. на уровне общей транзакции исключительная ситуация также будет расценена как восстановимая.3. при возврате в транзакцию верхнего уровня исключительная ситуация будет представлена как откат вложенной транзакции, что будет расценено как невосстановимая ошибка.

Вопрос 14.33
При использовании конструкции Попытка…Исключение… КонецПопытки снаружи вложенной транзакции, если внутри этой транзакции возникла восстановимая исключительная ситуация:

1. при возврате в транзакцию верхнего уровня сведения об исключительной ситуации уже не передадутся.2. на уровне общей транзакции исключительная ситуация также будет расценена как восстановимая.3. при возврате в транзакцию верхнего уровня исключительная ситуация будет представлена как откат вложенной транзакции, что будет расценено как невосстановимая ошибка.

Вопрос 14.34
При использовании конструкций Попытка… Исключение… КонецПопытки внутри транзакций ошибка по причине «В данной транзакции уже происходили ошибки!» появляется:

1. при первом чтении после исключительной ситуации.2. при первой записи после исключительной ситуации.3. при первом обращении к данным после исключительной ситуации.4. при возникновении следующей исключительной ситуации.5. при выходе из процедуры, в которой произошла исключительная ситуация.

Вопрос 14.35
При копировании строк между различными таблицами значений (табличными частями и т.п.) со схожим составом колонок следует использовать:

1. усовершенствованные алгоритмы многократного перебора колонок таблицы значений, выполняемого для получения их состава.2. метод глобального контекста ЗаполнитьЗначенияСвойств().3. помещение таблицы-источника во временную таблицу СУБД, а затем получение целевой таблицы запросом.

Вопрос 14.36
При необходимости поиска большого числа элементов одной таблицы значений в другой большой таблице значений в качестве одного из путей оптимизации можно использовать:

1. помещение таблиц-источников во временные таблицы СУБД, а затем получение целевой таблицы запросом, соединяющим временные таблицы.2. помещение одной таблицы-источника во временную таблицу СУБД, а затем получение целевой таблицы циклическим запросом с параметрами из строк второй таблицы.3. НайтиСтроки() вместо Найти().

Вопрос 14.37
При нескольких чтениях через объектную модель реквизитов одного и того же объекта внутри одной процедуры долго выполняется:

1. первое обращение.2. каждое чтение.3. это самый быстрый способ чтения.

Вопрос 14.38
При формировании табличного документа в качестве параметров ячеек с типом заполнения «Параметр» указывать ссылочные значения:

1. запрещено, но есть исключения.2. запрещено, поскольку в этом случае в момент вывода данных в табличный документ будет выполнено многократное обращение к базе данных для получения представлений этих значений. Поэтому в качестве параметров следует указывать сами представления.3. является правильным решением.

Вопрос 14.39
При использовании в коде программы через объектную модель объекта, содержащего реквизит с типом Хранилище значения, содержащий файл Word объемом 50 MБ:

1. этот реквизит будет считан из базы, даже если к этому реквизиту не обращались.2. этот реквизит не будет считан из базы, если к нему не обращаются.3. этот реквизит будет считан из базы только в том случае, если используется ПолучитьОбъект().

Если реквизит имеет тип ХранилищеЗначения и в конкретном документе хранится файл размером 500 МБ, то при первом чтении в объектной модели любого реквизита этого документа будет происходить считывание этого файла со всеми сопутствующими затратами времени;Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.107

Вопрос 14.40
Применение ДЛЯ ИЗМЕНЕНИЯ без указания таблиц в тексте запроса приводит к тому, что:

1. блокировка обновления U будет установлена на все таблицы, перечисленные в запросе, даже на те, в которые дальше не будет записи. Это будет мешать другим пользователям работать с ними.2. блокировка обновления U будет установлена на все таблицы, перечисленные в запросе, даже на те, в которые дальше не будет записи. Но это не будет мешать другим пользователям работать с ними.3. ничего не произойдет, потому что в версиях 8.2 и выше ДЛЯ ИЗМЕНЕНИЯ игнорируется.4. блокировка обновления U будет установлена только на нужную таблицу, т.к. платформа имеет механизм распознавания того, в какие таблицы потом будет запись.

Уровень U (Update) совместим только с разделяемыми блокировками S, но сам с собой уже нет. Чтобы его задействовать, в запрос на языке запросов «1С» необходимо добавить опцию ДЛЯ ИЗМЕНЕНИЯ, при этом не забыв указать, какие таблицы блокировать, иначе запрос поставит эту блокировку на все таблицы, задействованные в нем.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.64

Вопрос 14.41
Проверку того, что результат выполнения запроса не содержит строк, следует выполнять:

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

Проверку того, что результат выполнения запроса не содержит строк, следует выполнять с помощью метода Пустой(), поскольку на получение выборки из результата запроса (выгрузка его в таблицу значений) будет затрачиваться дополнительное время.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.292

Вопрос 14.42
Работа с регистром бухгалтерии — это почти всегда:

1. работа с пересекающимися данными (работа с одним и тем же счетом).2. работа с непересекающимися данными (разные разрезы аналитики).3. пересекающиеся данные или нет — зависит от детализации по субконто.

Вопрос 14.43
Сколько таблиц регистраций изменений в конфигурации?

1. По одной у каждого объекта метаданных.2. По одной у каждого объекта метаданных, включенного хотя бы в один план обмена, у остальных — отсутствуют.3. По количеству планов обмена у каждого объекта метаданных, в которое этот план включен, у остальных — отсутствуют.

Ровно по одной таблице с назначением «РегистрацияИзменений» и подстрокой «ChngR» в имени будет создано для каждого из объектов метаданных, зарегистрированных хотя бы в одном плане обмена.Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.79

Вопрос 14.44
Соединять виртуальные таблицы с реальными, а также виртуальные с виртуальными:

1. рекомендуется для повышения производительности.2. не следует. Правильно сначала результат получения данных из виртуальной таблицы записывать во временную таблицу, индексировать эту временную таблицу по полям соединения, а затем уже соединять.3. не следует. Правильно виртуальную таблицу получать во вложенном запросе, индексировать этот вложенный запрос по полям соединения, а затем уже соединять.

Вопрос 14.45
Соединять подзапросы с реальными таблицами, а также подзапросы с подзапросами:

1. не ошибка.2. не следует. Правильно сначала результат подзапроса записывать во временную таблицу, индексировать эту временную таблицу по полям соединения, а затем уже соединять.3. не следует. Правильно сначала результат подзапроса записывать в виртуальную таблицу, индексировать эту виртуальную таблицу по полям соединения, а затем уже соединять.4. верны ответы 2 и 3.

Вопрос 14.46
Укажите, в чем может быть проблема в следующей процедуре из общего модуля с включенными свойствами: «Сервер» и «Вызов сервера»

Процедура УстановитьЗначение(Знач Имя, Знач Значение) Экспорт
УстановитьПривилегированныйРежим(Истина);
Константы[Имя].Установить(Значение);
УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры

1. Никакой проблемы нет. Очень удобная процедура2. Устанавливать привилегированный режим не требуется. Он и так всегда устанавливается в серверных модулях3. Неправильно указывается имя константы. Должно быть Константы.Имя.УстановитьЗначение(Значение);4. Неправильно устанавливается имя константы. Должно быть Вычислить(«Константы.» + Имя + «.Установить(Значение);»);5. Процедура позволяет изменить значение любой константы в независимости от прав пользователя

Вопрос 14.47
Как изменится производительность тестовой информационной базы при переводе тестовой информационной базы с СУБД MS SQL Server на СУБД PostgreSQL?

1. Приоритеты по использованию СУБД размещены на сайте 1С. Производительность будет изменяться в соответствие с указанными приоритетами.2. Это точно улучшит производительность, но такие изменения нужно выполнять в режиме совместимости.3. Необходимо выполнить проверку производительности в СНТ на СУБД PostgreSQL, производительность реальной тестовой базы изменится точно также.4. Надо проверять именно на той информационной базе, производительность которой требуется оценить, например, провести нагрузочное тестирование. Все СУБД, с которыми может работать 1С:Предприятие, имеют бесплатные редакции.

Вопрос 14.48
Что в тексте запроса, полученного в помощью профайлера, однозначно говорит о том, что в формировании текста запроса участвовал механизм RLS?

1. Подстрока SDBL_DUMMY.2. Обращение к таблице справочника Организации.3. Обращение к таблице справочника ГруппыПользователей.4. Подстрока USE_RLS.5. Подстрока WITH RLS.

На текущий момент работу механизма RLS можно отследить в профайлере по наличию характерных конструкций в тексте запроса, в частности, по наличию «SDBL_DUMMY»Источники:
«Настольная книга 1С:Эксперта по технологическим вопросам» (ред.2), стр.74

Вопрос 14.49
Что и какой блокировкой блокирует выгрузка изменений по плану обмена?

1. Таблицу регистра целиком исключительной блокировкой.2. Ничего, т.к. это внетранзакционное чтение.3. Таблицу регистрации изменений разделяемой блокировкой.4. Таблицу регистрации изменений исключительной блокировкой.5. Таблицу регистра целиком блокировкой обновления.

Вопрос 14.50
Что рекомендуется для исключения конфликтов блокировок при выгрузке изменений по плану обмена?

1. Осуществлять массивные выгрузки данных в моменты минимальной загрузки системы, например, в ночное время.2. Делать выгрузки достаточно часто.3. Делать выгрузку максимального объема в одной транзакции.4. Верны ответы 1 и 2.5. Ответы 1 и 2 противоречат друг другу.

Вопрос 14.51
Что рекомендуется при использовании объекта РегистрСведений.МенеджерЗаписи?

1. Объект РегистрСведенийМенеджерЗаписи следует применять только тогда, когда выполнение операций с регистром сведений требует использования отбора одновременно по всем измерениям.2. Особых рекомендаций нет.3. Чтение записи(набора записей) из регистра сведений без последующей модификации нужно выполнять не через РегистрСведенийМенеджерЗаписи, а через РегистрСведенийНаборЗаписей.4. С точки зрения производительности использование менеджера записей в некоторых случаях будет столь же эффективным, как и использование набора записей, а в некоторых – более эффективным, так как не будут выполняться лишние действия.

Вопрос 14.52
Что рекомендуется при необходимости получения данных из базы в событиях формы:
• ОбновлениеОтображения().
и событиях табличного поля:
• ПриВыводеСтроки(),
• ПриАктивацииСтроки().

1. Следует минимизировать обращение к данным информационной базы в обработчиках этих событий.2. Следует минимизировать обращение к данным информационной базы в обработчиках этих событий. Как обход части проблем — перенести код в обработчики других событий, и получать данные запросами на языке запросов, а не через объектную модель.3. Не отказываться от нужного функционала, если это невозможно согласовать с заказчиком.

Вопрос 14.53
Чтобы реквизит динамического списка не оказывал постоянного негативного влияния на время открытия формы, для него надо:

1. в настройках управляемой формы в режиме 1С:Предприятия отключить вывод.2. в конфигураторе в настройках динамического списка снять флажок «Использовать всегда».3. выполнить оба перечисленных выше действия.

Скорее всего правильный ответ - 3