如何解决网站加载速度过慢的问题?

我一直在花很长时间优化我的 CSS,移除插件,移除重定向,尽我所能提高加载速度,但显然主要问题出在:

mobile_4-randomcharacters-.css,其中包含 normalize.css 和 Pikaday,在移动端的加载时间为 1.5 秒
以及 /assets/ember_jquery-randomcharacter-.js,在移动端的加载时间为 3.6 秒

我对这些加载时间最长的文件束手无策,不知道该如何处理。

桌面端的加载速度较快,但也不理想。
服务器配置为:1 核 CPU、2 GB 内存、50 GB SSD、2 TB 带宽,位于美国的专业服务器上。
运行 2 个 Unicorn 工作进程,CPU 和内存均未处于高负载状态,且用户数量和插件数量都不多。
有什么建议吗?谢谢。

测量工具:https://developers.google.com/speed/pagespeed/insights/

这些是静态资源,为了优化它们的交付,您应该访问 Enable a CDN for your Discourse

谢谢。https://developers.google.com/speed/pagespeed/insights/ 显示,第二个资源的 CPU 时间(而非传输时间)接近 4 秒。像 Fastly 这样的 CDN 对此有帮助吗?我目前使用的是带缓存的 Cloudflare,是否需要在 Cloudflare 上做某些调整,还是直接在上方再叠加 Fastly 之类的服务?

这确实是一个巨大的优势,但需要时间来解析和评估。由于 Discourse 是一个“单页应用”,这笔成本在用户首次访问时便已一次性支付。这是我们所采用方法的权衡,其重点在于确保后续典型的论坛交互操作轻量高效。

EmberJS 计划取消对 jQuery 的强制依赖,这将大幅减少该负载,但 Discourse 距离实现这一过渡还有数年时间。

感谢您的回复,我想我的配置可能出了问题,因为我从未听说过其他人报告过这样的加载时间。

好吧,Pagespeed 的默认设置强制模拟 Nexus 5X 设备和 3G 网络连接。即使对于巴西(一个发展中国家)而言,这在当今标准中也属于较低水平,因此实际性能将取决于具体条件。

您好,我刚刚在 Hetzner 服务器(CPX21,3 核 vCPU,4GB 内存)上完成了一次全新的 Discourse 安装。参考的指南是:discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

服务器性能统计中几乎没有任何负载显示,但 URL 加载却耗时极长。在无痕窗口中,非登录访客的加载时间竟长达 1.2 分钟,即使许多组件已在缓存中。最慢的是 OpenSans ttf 字体文件,耗时超过一分钟;随后多个 .js 组件也花费了 30 到 45 秒。

我会研究缓存选项,但查看这些组件后,我认为并非所有都能被缓存。总数据传输量仅为 730KB。如果 3 个 vCPU 都在满负荷运行,我会考虑升级到更快的服务器,但鉴于负载显示几乎为零,我感到非常困惑。

是否有某个环节在等待其他资源完成才能继续?有没有办法在服务器上运行测试以检查数据库等组件的健康状况?Docker 是否可能导致了性能变慢?

我也遇到了同样的问题,
在 Ubuntu 上全新安装,拥有 2 个核心、4GB 内存和 Cloudflare 缓存,但加载速度仍然非常慢。

我的 app.yml 设置是默认的,即 db_shared_buffers: "1024MB" UNICORN_WORKERS: 4

加载速度仍然很慢,这不正常。我需要调整哪些设置来解决这个问题?

Htop ss 似乎不是服务器问题

也许值得分享一些来自 mini-profiler 的统计数据

也许还可以阅读一下
Discourse 安装速度越来越慢