【问题标题】:Website randomly loads slowly every once in a while网站每隔一段时间随机加载缓慢
【发布时间】:2021-10-09 04:18:07
【问题描述】:

我有一个在 apache2 上运行的 laravel 网站,它在多个服务器上为多个客户端运行。只有一台 Web 服务器,网站加载缓慢。现在它不是在每次页面加载时都加载缓慢,而是随机加载缓慢。同样,在加载一个加载速度很快的页面后,如果您离开该站点 5 分钟并开始导航到另一个页面,该页面再次加载缓慢。

不确定是否实际上是 apache 导致了网站运行缓慢,或者它是否是第三方插件,因为在页面加载时它提到 m.stripe.com 正在加载,然后在另一个页面加载时,它可能是另一个插件正在加载。

有什么工具可以用来破解这个问题。

【问题讨论】:

    标签: laravel apache


    【解决方案1】:

    很难回答为什么 Laravel 网站速度较慢。 Laravel 应用程序速度较慢的原因有很多。您必须在应用程序中需要改进的地方进行调试并做出决定。这是我在开发应用程序时关注的列表。

    1. Database

    如何在每个页面上加载数据库查询?您必须确保不存在任何递归查询。制作高效的数据缓存。检查查询需要一点时间来执行。

    1. Network Connection

    如果您在 Redis、数据库、队列中使用不同的网络连接,请确保这些连接得到了很好的优化,并且需要一些时间来连接和提供数据。

    1. Cache Files

    为您的 HTML 文件、路由器、配置文件制作缓存,并优化这些缓存。另外,尽可能减少自动加载服务。

    1. Optimize your Images

    优化您的图像。我建议不要使用本地文件。尝试使用云服务。

    1. Minify CSS and JS file

    您应该缩小 CSS 和 js 文件。并尝试使用 CDN 中的库。

    1. Use Queue

    尽可能使用队列,例如电子邮件发送、PDF 生成...

    【讨论】:

      【解决方案2】:

      发现其中有 2 个 A 名称记录具有相同域的不同 IP 地址。我原以为 apache 会因此而引发一些错误,但它随机选择了 ip 来为网站提供服务,当然,不存在的 ip 的加载时间也很长。

      【讨论】:

        【解决方案3】:
        1. 缩小您的 HTML、CSS 和 Javascript。这是增加页面传播的好方法。根据你使用的 IDE,你可以安装一个 minifier 扩展,使用 webpack 来打包你的代码,或者使用一个在线的 minifier,比如https://fixcode.org/minify
        2. 使用 CDN 加载脚本、图像和样式表等静态文件。您还可以通过 CDN 加载您的所有网站
        3. 您还可以考虑延迟加载脚本的某些部分。特别是在你使用 webpack 编译脚本的情况下

        【讨论】:

          猜你喜欢
          • 2013-02-12
          • 2015-07-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-23
          • 2017-07-13
          • 1970-01-01
          • 2016-05-24
          相关资源
          最近更新 更多