Сбой выбора темы пользователем и проблемы с производительностью?

Здравствуйте,

Прежде всего, спасибо за то, насколько замечательным является Discourse. Мы любим его с момента миграции с плагина bbPress (сама миграция прошла не совсем гладко, но это тема для отдельного обсуждения).

Один из пользователей моего сайта на Discourse заметил, что при попытке выбрать другую тему в профиле отображение было сломанным (скриншоты приложены). Однако мне не удалось воспроизвести эту проблему с шаблоном, так как на моей стороне как у администратора всё загружалось нормально.

Но самое интересное заключается в следующем: я думал, что наш сообщество достаточно активно по трафику и количеству пользователей (49 тыс. сообщений, 7,3 тыс. пользователей), и что наш VPS (2 ГБ ОЗУ + 2 ГБ подкачки и 1 процессор) не справляется с нагрузкой. Возможно, у нас был узкий канал, из-за чего сайт загружался очень медленно (некоторые страницы занимали от 3 до 10 секунд с отображением индикатора загрузки).

Я использовал тему Grey Amber как основную, а также темы Dark и Light, которые пользователи могли выбирать по своему усмотрению.

Поэтому я решил отключить темы Dark и Light для пользователей, и внезапно сайт стал работать намного быстрее, почти так же быстро, как Meta.discourse!!! Теперь веб-сервисы вроде webpagetest.org и другие инструменты тестирования показывают невероятные показатели скорости, некоторые даже менее секунды. Даже внутренние страницы, такие как Sidekiq, логи, обновление и т.д., раньше загружались очень медленно, а теперь практически мгновенно. Я ещё не пробовал, но интересно, возможно, теперь обновления будут работать через интерфейс, так как раньше они зависали, отменялись или вызывали ошибки и т.д. Ого, даже обновление через интерфейс теперь работает… Раньше мне приходилось делать это через терминал, и сайт был недоступен около 20–30 минут, но, похоже, это больше не понадобится!

Это нормальное поведение: отключение тем или перевод их в неактивное состояние повышает производительность? Мне кажется, что нет, но именно это я наблюдал, даже после нескольких пересборок приложения.

Версия: v2.4.0.beta1 + 135 157 (обновил прямо во время написания этого сообщения, чтобы проверить, работает ли обновление через интерфейс, и оно сработало — потрясающе)
Резервные копии на S3
Компонент темы Header Links (сайт был медленным ещё до его добавления)
discourse-oauth2-basic

DNS настроен через Cloudflare, но я знаю, что лучше отключить все оптимизации, кэширование, Brotli и т.д. Сейчас сайт работает очень быстро, и никаких проблем нет при тех же настройках Cloudflare. Единственное, что изменилось — это отключение тем.

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

Пользователь сделал скриншоты того, как выглядит сайт в браузере при выборе темы Dark или Light (приложены):

Когда это происходит, что-либо отображается в консоли браузера или в /logs? Вероятно, замедление работы Sidekiq и логов не связано с темой (Grey Amber — это просто цветовая схема, поэтому никаких существенных изменений там нет).

Я очистил логи, снова включил темы для выбора пользователями и просмотрел их в своём аккаунте. В консоли браузера ничего не отображалось.

В логах было показано следующее, но это, вероятно, не связано:

TypeError: t.forEach не является функцией
Url: https://wowlazymacros.com/assets/vendor-25f91d66eba869fbd399d751711e74544b6d60bf034a5350b61c6c12caad0e2a.js
Line: 3
Window Location: https://wowlazymacros.com/t/7-2-5-updated-fury-macros/3811

Возможно, ваш сервер был перегружен выполнением какой-либо обработки изображений, и теперь задача завершена.

Возможно, вы правы. Возможно, какая-то обработка вызывает скачок нагрузки на процессор до 100% на некоторое время, из-за чего всё остальное замедляется. Забавно, что это должно быть очень случайным совпадением, что система вела себя так в течение недель, и вдруг я изменил эту настройку, и всё стало работать как по маслу, ха-ха.

Ещё одна нераскрытая тайна :stuck_out_tongue_winking_eye:

Или, возможно, некоторые коммиты исправили что-то с момента моей последней пересборки. Больше всего меня удивляет то, что теперь я могу обновляться через браузер, и это меня очень радует :+1: