Мой самохост не такой «быстрый», как другие сайты

Мой самодостаточный хостинг не такой «быстрый», как другие сайты. Я заметил, что другие сайты работают почти мгновенно или очень быстро, а мой — быстрее, когда я не авторизован. Я понял, что он совсем не медленный до непригодности, но учитывая мои характеристики, я ожидал бы большей скорости.
12-ядерный процессор, 40 ГБ оперативной памяти. По соображениям конфиденциальности я не могу поделиться доменом.
Буду благодарен за любые советы, что проверить или как оптимизировать мой app.yml.
У меня в основном изображения и видео, может ли это быть проблемой?

db_shared_buffers: "34096MB"
db_work_mem: "90MB" (раскомментировано)
UNICORN_WORKERS: 25

Проксируется через Cloudflare (для защиты от DDoS, тарифный план Pro).

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

Если вы можете размещать видео на другой платформе и публиковать ссылки на сайте Discourse, это может помочь.

загружено непосредственно на платформу.. хм, возможно

Несколько поддерживаемых платформ, интегрируемых с Discourse: Brightcove, YouTube и Vimeo:

Да, для справки у меня переходы между страницами происходят почти «мгновенно» на:

  • 4 ГБ ОЗУ, 3 ядра с
  • 2 воркерами Unicorn (после пересмотра это, вероятно, можно увеличить!)
  • db_shared_buffers: "256MB"
  • без CDN

Но с передачей любых видео через YouTube.

Всё настроено примерно по умолчанию.

Размер разделяемых буферов должен составлять около 10 ГБ. Я что-то путаю, или у вас 34 ГБ разделяемых буферов?

Судя по тому, что я читал, можно перейти на 6 единорогов: 3 ядра, по 2 униформа на ядро — итого 6 :slight_smile: Но да, я понимаю.

Да :frowning: думал, что это как-то ускорит процесс. Я могу изменить это на 10 ГБ.

Да, я закомментировал эту настройку и пересобрал :+1:

Это наследие дней, когда я использовал более маленький VPS.

Рекомендуется выделять 25% оперативной памяти. Если вы отдадите PostgreSQL почти всю оперативную память, для веб-сервера её не останется. Скорее всего, проблема именно в этом.

Понял, жаль, что нет больше документации о том, как это оптимизировать и так далее. Не всегда «за bootstrap»-решение эффективно. Я настроил это на новом сервере и изменил настройки согласно вашей рекомендации. Также я подключил Cloudflare tunnel. Это хорошая идея в долгосрочной перспективе? Всё загружается очень быстро теперь! Я доволен.

В файле app.yml есть комментарии. discourse-setup создаёт разумные значения. Эти настройки по умолчанию, скорее всего, подойдут для нескольких миллионов просмотров страниц в месяц.