Загрузка тем с множеством ответов происходит медленно или не происходит вовсе, если у пользователя есть в них закладки

У нас уже какое-то время наблюдается повторяющаяся проблема на нашем форуме Discourse, и нам наконец удалось сузить круг её причин и надёжно воспроизвести её.

Вот шаги для воспроизведения:

  1. Создайте тему с тысячами ответов.

  2. Добавьте в закладки один из постов в этой теме.

  3. Откройте тему.

Теперь тема загружается очень долго. В некоторых случаях происходит тайм-аут, и вместо страницы отображается ошибка Nginx (502 Bad Gateway).

Вот приблизительное время загрузки на нашем форуме:

  • Для темы с примерно 1000 ответами дополнительное время загрузки после создания закладки составляет несколько секунд. Это заметно, но не является серьёзной проблемой.

  • Для темы с примерно 4000 ответами время загрузки обычно составляет 20–30 секунд, а иногда происходит тайм-аут вместо успешной загрузки страницы.

  • Для темы с более чем 9000 ответами в большинстве случаев происходит тайм-аут. В некоторых случаях страница загружается, но только после 30+ секунд.

Обратите внимание, что эти темы загружаются без каких-либо проблем, если в них нет закладок. Проблема возникает только у пользователей, у которых есть закладки в конкретной теме, и как только они удаляют закладку, тема снова загружается нормально.

5 лайков