Как решить проблему очень медленной загрузки сайта?

Я потратил много времени на оптимизацию своего CSS, удаление плагинов, перенаправлений и всего остального, что можно сделать для улучшения времени загрузки, но, по-видимому, основные виновники следующие:

mobile_4-randomcharacters-.css, который содержит normalize.css и Pikaday и загружается за 1,5 секунды на мобильных устройствах,
и /assets/ember_jquery-randomcharacter-.js, который загружается за 3,6 секунды на мобильных устройствах.

Я не имею представления, что делать с этими файлами, которые имеют самое высокое время загрузки.

Загрузка на компьютере быстрее, но всё ещё не идеальна.
Сервер работает на 1 CPU, 2 ГБ ОЗУ, 50 ГБ SSD, 2 ТБ трафика на профессиональном сервере в США.
2 воркера unicorn, ни процессор, ни оперативная память не испытывают высокой нагрузки, и у меня немного пользователей или плагинов.
Есть какие-то идеи? Спасибо.

Измерено с помощью https://developers.google.com/speed/pagespeed/insights/

Это статические ресурсы, и для оптимизации их доставки вам следует Enable a CDN for your Discourse

Спасибо. На странице https://developers.google.com/speed/pagespeed/insights/ указано, что время работы CPU (не время доставки) конкретно для второго ресурса составило почти 4 секунды. Поможет ли в этом случае CDN, например Fastly? Сейчас я использую Cloudflare с кэшированием. Нужно ли мне настроить что-то в Cloudflare или просто добавить поверх что-то вроде Fastly?

Это действительно значительное преимущество, которое потребует времени для разбора и оценки. Поскольку Discourse является «одностраничным приложением» (Single Page Application), эти затраты оплачиваются полностью при первом посещении пользователя, и это компромисс нашего подхода, который направлен на то, чтобы все последующие взаимодействия, типичные для использования форума, были легковесными.

Планируется, что в EmberJS станет необязательным использование JQuery, что значительно уменьшит размер полезной нагрузки, но до перехода на эту технологию в Discourse ещё несколько лет.

Спасибо за ответ. Думаю, что-то не так с моей конфигурацией, так как я никогда не слышал, чтобы кто-то ещё сообщал о таких временах загрузки.

Что ж, настройки по умолчанию для Pagespeed принудительно используют Nexus 5X и соединение 3G, что даже для Бразилии (развивающейся страны) является низким показателем по современным стандартам, поэтому реальная производительность будет зависеть от этого.

Привет! Я только что выполнил чистую установку Discourse на сервере Hetzner (CPX21, 3 vCPU, 4 ГБ ОЗУ), следуя этой инструкции: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

В статистике производительности сервера практически отсутствует нагрузка, однако URL загружается очень долго. Для незарегистрированного посетителя в режиме инкогнито время загрузки составило 1,2 минуты, даже когда многие компоненты уже были в кэше. Самыми медленными оказались файлы шрифтов OpenSans (ttf) — более минуты; после них несколько JS-компонентов загружались от 30 до 45 секунд.

Я изучу варианты кэширования, но, судя по этим компонентам, не все из них можно закэшировать. Общий объём переданных данных — всего 730 КБ. Если бы все 3 vCPU работали на полную мощность, я бы подумал о переходе на более быстрый сервер, но поскольку даже они показывают почти нулевую нагрузку, я просто в замешательстве.

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

Не могло ли Docker замедлять работу?

У меня та же проблема.

Чистая установка на Ubuntu с 2 ядрами, 4 ГБ ОЗУ и кэшем Cloudflare, но загрузка всё равно очень медленная.

Мои настройки в app.yml по умолчанию: db_shared_buffers: "1024MB" и UNICORN_WORKERS: 4.

Загрузка всё ещё медленная, и это ненормально. Какие настройки нужно изменить, чтобы исправить это?

Похоже, что проблема не на стороне сервера (htop, ss).

Стоит поделиться некоторыми статистическими данными из мини-профайлера:

Также, возможно, стоит прочитать:
Установка Discourse становится всё медленнее и медленнее.