Попробуйте отключить Ezoic, это может быть настоящим узким местом.
Да, мы используем Cloudflare (CF), но я предполагаю, что люди используют CF для ускорения работы сайта, поэтому и мы его используем.
И да, мы связали наш аккаунт CF с Ezoic, но при этом мы всё ещё не используем Ezoic и не показываем рекламу от них. Я не нашёл способа отключить интеграцию Ezoic с моим собственным аккаунтом CF.
Сейчас мы используем одиночный Droplet от Digital Ocean, и на этом сервере размещён только этот сайт. Сайт обслуживается через NGINX, конфигурация которого выглядит примерно так (некоторые значения заменены на заглушки): Мы используем NGINX, потому что также обслуживаем AMP-страницы через PHP на Amazon ERC Number - How To Discuss
server {
listen httpsPORT ssl http2;
ssl on;
ssl_certificate /path/to/pem;
ssl_certificate_key /path/to/key;
server_name howtodiscuss.com www.howtodiscuss.com;
location / {
proxy_ssl_server_name on;
proxy_pass http://localhost:port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
# Поддержка Socket.IO
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
Наш сайт уже обслуживается через Cloudflare, поэтому это должно ускорять работу, но, похоже, ускорения не происходит.
Вы упоминали об этом, мы попробуем. Всё это бесплатно для развёртывания и работы? Например, размещение всего форума на полной CDN Cloudflare — это 100% бесплатно? Можете ли вы сообщить точные шаги и какой путь мне следует выбрать для достижения наилучшей окупаемости инвестиций (ROI)?
Также я попробовал включить Rocket Loader в CF, но после этого Discourse перестал работать как ожидалось. Кроме того, я думаю, что если включить в CF минификацию CSS, JS и HTML-файлов, то скрипты EmberJS снова будут работать некорректно, и сайт не будет вести себя так, как ожидается. Что ещё можно настроить в моём аккаунте CF для ускорения сайта без ущерба для производительности и удобства использования?
Как включить сжатие GZIP и сжатие ресурсов, а также минификацию в Discourse, и как включить кэширование на стороне сервера/клиента?
Ещё одна ошибка, которую мы недавно обнаружили: когда мы как администраторы переходим по адресу https://howtodiscuss.com/logs, нас перенаправляет на https://howtodiscuss.com/logs/logs/. Это ошибка Discourse в последней версии?
Мы, @ahmed_khan1, скоро установим плагин GitHub - discourse/discourse-prometheus: Official Discourse Plugin for Prometheus Monitoring · GitHub и поделимся с вами статистикой.
Также, глядя на наши текущие настройки, если у вас есть дополнительные предложения и советы по оптимизации, пожалуйста, поделитесь ими. Спасибо
Почему бы не поручить эту задачу внутреннему NGINX?
Как я уже упоминал, мы обслуживаем AMP-страницы. Маршрутизацию AMP мы выполняем в NGINX, но не включили соответствующий код AMP в фрагмент конфигурации NGINX.
Наши AMP-страницы доступны по следующим адресам:
и т. д. Мы обслуживаем их через PHP, используя API Discourse для генерации этих страниц в формате AMP. Именно поэтому нам требуется, чтобы NGINX занимался маршрутизацией AMP-страниц, так как Discourse не предоставляет такую маршрутизацию из коробки.
Если кто-то может помочь нам достичь 100 баллов в Google PageSpeed и GTMetrix для нашего сайта и способствовать его росту, пожалуйста, свяжитесь с нами по адресу howtodiscuss.com@gmail.com
Если бы я был на вашем месте, я бы не пытался ускорить медленный сайт. Это довольно бессмысленно. Начните с сайта, который уже достаточно быстр, и попробуйте сделать его ещё быстрее. Итак, первый шаг — выяснить, почему он так медлителен. Я бы поступил следующим образом:
- Создайте новый дроплет (для тестирования) и следуйте инструкциям по настройке Discourse
- Пока не добавляйте никаких плагинов. Также не используйте Cloudflare, Nginx и т.п.
- Восстановите резервную копию вашего продакшн-сайта
- Достаточно ли он быстр? Отлично.
- Добавьте плагины
- Всё ещё быстро? Отлично. Если нет, попробуйте найти плагин, который замедляет работу.
- Добавьте Nginx перед ним для всех PHP-задач
- Всё ещё быстро? Отлично. Если нет, попробуйте что-то другое, например:
- выяснить, почему Nginx замедляет работу
- или запустить Nginx на приватном порту для PHP-задач и попробовать разместить HAProxy в режиме TCP перед Discourse и вашим Nginx
- Начните использовать CDN для статических ресурсов или CDN для всего сайта — см. ссылки в моём последнем посте и внимательно прочитайте эти темы. Для Cloudflare требуется специальная настройка (шаблон в
app.ymlи т.п.), и не используйте Rocket Loader или что-то подобное.

