Ошибка загрузки теста при большом количестве попыток прохождения

Ошибка загрузки теста при большом количестве попыток прохождения

от Maksim Port -
Количество ответов: 5
Добрый день, коллеги!
Собственно сабж в теме письма. При большом количестве попыток прохождения теста у слушателя начинает возникать проблема с долгой загрузкой этого самого теста. Чаще всего появляется ошибка 504. 

Подскажите, пожалуйста, в чем может быть проблема и как от неё избавиться?
В ответ на Maksim Port

Re: Ошибка загрузки теста при большом количестве попыток прохождения

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle
Проблема возникает, когда в тесте сохранено чудовищное количество попыток. Обычно, такое происходит, когда в курсе очень много подписчиков, при этом количество попыток не ограничено и они все до бесконечности долбятся, пока не пройдут тест методом перебора. Каждая попытка сохраняется в БД и в какой-то момент сама таблица в БД начинает сильно тормозить и некоторые операции с тестом, требующие работы с этой таблицей тоже. В том числе, когда студент завершает тест, система просматривает все его попытки, чтобы вычислить оценку (среднюю, максимальную, минимальную, последнюю или со штрафом).
Радикально решить это можно почистив лишние попытки. Штатного инструмента для этого нет, нам пришлось писать свой, который работает в фоне по расписанию.
Локально - увеличить лимиты по памяти и времени работы скрипта, добавить мощности на сервер - сильно быстрее не будет, но будет хотя бы работать.
В ответ на Alex Djachenko

Re: Ошибка загрузки теста при большом количестве попыток прохождения

от Maksim Port -
>Проблема возникает, когда в тесте сохранено чудовищное количество попыток. Обычно, такое происходит, когда в курсе очень много подписчиков, при этом количество попыток не ограничено и они все до бесконечности долбятся, пока не пройдут тест методом перебора. Всё именно так, как Вы и описали. >Локально - увеличить лимиты по памяти и времени работы скрипта Подскажите, пожалуйста, какие именно лимиты необходимо увеличивать? >добавить мощности на сервер Подскажите, еще, пожалуйста, о каких именно параметрах идет речь?
В ответ на Alex Djachenko

Re: Ошибка загрузки теста при большом количестве попыток прохождения

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

есть ещё плагин https://moodle.org/plugins/local_deleteoldquizattempts

Изначально писался, чтобы место в БД освобождать. Но может и от тормозов помогает, не знаю

В ответ на Vadim Dvorovenko

Re: Ошибка загрузки теста при большом количестве попыток прохождения

от Maksim Port -
Спасибо, Вадим! Мы активно используем и любим данный плагин. Некоторое время назад как раз чистили попытки, однако данные тормоза начались уже после очистки. Было бы здорово, если бы в Вашем плагине была возможность удалить попытки для определенного теста все, кроме лучших. Чтобы у каждого слушателя оставалась одна самая удачная попытка.