Во время эпидемии COVID-19 многим организациям пришлось радикально изменить способ проведения онлайн тестирования. Инфраструктура, предназначенная в основном для очного обучения, была вынуждена принять на себя бремя множества пользователей. Это привело к перегрузке многих информационных систем и сайтов, включая Moodle.
Одной из мер по устранению проблемы является управление первоначальным доступом к тесту с произвольной задержкой, чтобы уменьшить нагрузку в начале и в конце тестирования.
Плагин quizaccess_delayed для Moodle позволяет добавить произвольную задержку перед началом попытки теста для каждого пользователя индивидуально, не требуя обновления страницы.
Это делается с помощью таймера обратного отсчета на стороне клиента (javascript), который запускается при отображении страницы в браузере.
Если вы включите время начала теста в настройках, учащимся, больше не придется вручную обновлять страницу, чтобы нажать кнопку “Начать тест” .
Каждому учащемуся назначается случайная задержка до 10 минут для распределения времени участия.
В тесте со строгими временными ограничениями учащиеся, как правило, слишком часто обновляют страницу, просто чтобы убедиться, что попытка еще доступна. Это неоправданно увеличивает нагрузку на сервер и является проблемой при большом количестве учащихся. Синхронный запуск множества попыток тестирования приводит к существенной кратковременной нагрузке на сайт. За счет поэтапного предоставления доступа влияние сводится к минимуму.
Некоторые конфигурации тестов приводят к особенно высокой нагрузке на сервер.
Плагин реализован как плагин правил доступа, переопределяющий отображение страницы действий по умолчанию. На странице отображается время, оставшееся до начала теста, с помощью анимированного обратного отсчета. Каждому учащемуся назначается псевдослучайная задержка в зависимости от количества учащихся и набора параметров для всего сайта, таких как фиксированная скорость поступления, максимально допустимая задержка. Для всех тестов в платформе можно настроить необязательное сообщение для учащихся. Для всех тестов в платформе можно настроить необязательное сообщение с проверкой и рекомендациями для учителей.
Как рассчитывается задержка
Плагин действует только до момента начала теста плюс количество минут максимальной задержки. После этого он больше не работает, потому что критическая нагрузка уже пройдена.
Максимальная задержка рассчитывается следующим образом:
Количество студентов делится на скорость поступления, указанную администратором. Например, при 25 студентах в минуту, если на курсе 200 студентов, максимальная задержка составит 8 минут.
Не более 10% от продолжительности теста. Мы посчитали, что нелогично ждать 4 минуты при проведении 15-минутного экзамена. Например, 15-минутный экзамен => максимальное ожидание составляет 1,5 минуты.
Максимальное время, установленное администратором. Это необходимо для того, чтобы установить разумное ограничение в случае больших групп. Например, максимум 4 минуты.
Минимум 1 минута. Это необходимо для обеспечения постепенного доступа.
Учитывая все эти ограничения, итоговая скорость поступления является той, которая необходима для соответствия всем требованиям. В данном примере это будет 200 студентов /1,5 минуты = 133 студента/минуту (примерно 2 в секунду). Если мы хотим указать скорость ввода, нам придется отказаться от абсолютного ограничения или процента времени завершения. Длительная задержка с точки зрения функциональности неприемлема в случае коротких экзаменов, поскольку из-за этого некоторые студенты почти закончат, а другие еще только начнут.
Как определить, что тест является "ресурсоемким" ?
Массовый тест является "ресурсоемким", если он соответствует этим характеристикам:
Он разбит на страницы таким образом, что прохождение каждой страницы занимает менее 10 минут.
Отведенное время слишком ограничено.
Количество участников слишком велико.
https://moodle.org/plugins/quizaccess_delayed