【问题标题】:Improve time response of an RoR Project提高 RoR 项目的时间响应
【发布时间】:2012-03-10 15:02:13
【问题描述】:

在生产中,由于加载了 javascript,响应时间非常长,所以我正在寻找一种方法来改进它而不更改任何代码行 请注意,我正在使用:

  • Ruby on Rails 3.2
  • 乘客 (Apache2)

请指教

【问题讨论】:

  • 是的,我的意思是初始化脚本和 css 时间。加载根页面需要30多秒!所以我正在寻找一种方法来减少这个响应时间
  • 也许您加载了很多不需要的脚本:您的根页面是否需要 28.000 行的 JS 文件?所以也许你可以把你的代码分成不同的文件。
  • 加载的js是application.js文件,所以拉取了所有的le js,也就是28000行
  • 是的,但我的意思是您可以将application.js 拆分为几个文件。例如,您可以通过控制器拥有.js。这样,您就不会在所有页面上加载不必要的库,而只是在需要它们的页面上。

标签: javascript ruby-on-rails-3 coffeescript passenger


【解决方案1】:

我知道你说你不能改变应用程序,但是必须为第一页加载 100kb 的 CSS 和 1Mb 的 JS 似乎有点过分了。我会认真考虑尝试减少资源以便按需加载。

没有那么多“修复”可以单独处理代码库,但其中一些是:

【讨论】:

    【解决方案2】:

    从内容交付网络加载您的 JS。

    如果您显示一些有关加载时间的分析信息(Chrome 开发者工具分析器就足够了),我们将能够提供更好的建议。

    【讨论】:

    • Chrome开发者工具显示:css文件内容(97.7KB)耗时14.53秒,js文件(998KB)耗时9.93秒
    • 那么 CSS 的交付有问题。你应该优化它。此外,您的互联网似乎可能很慢,或者您的服务器可能负担过重。
    • css文件大概有2800行,js文件大概有28000行。我在服务器上有一个用 php 编写的其他应用程序,响应速度很快,所以我确信服务器没有负担过重并且我的互联网速度足够快
    【解决方案3】:

    【讨论】:

      【解决方案4】:

      这是意料之中的,它只是乘客旋转,但应该只发生在部署后的第一个页面加载时。

      如果经常发生,则表示乘客正在关闭您的应用,因此您应该多考虑配置乘客。

      一个选项是确保您始终使用此选项运行至少一个实例:

      PassengerMinInstances 1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-22
        • 1970-01-01
        • 2021-03-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多