gpt4 book ai didi

ruby-on-rails - Rails 如何优化我的网站?

转载 作者:行者123 更新时间:2023-12-03 16:44:18 25 4
gpt4 key购买 nike

我想让我的网站更快。我知道我可以制作 CSS Sprite 并压缩我的 HTML 和 CSS。

还有其他方法可以优化我的页面速度吗?

一个例子是这个页面:http://www.vinderhimlen.dk/konkurrencer/vind-elektronik

加载分享按钮、评分星级和 Facebook 点赞需要几秒钟的时间。我真的很想优化它。我只是认为最小化 HTML 和 CSS 是不够的。

最佳答案

无论您如何扩展或提高 Rails 的性能,您都需要在前后进行基准测试。安装最新的性能增强插件或复制别人的技术很容易,但如果不测量执行时间,您将永远不知道您正在做的事情是提高性能还是降低性能。

性能是相对的,会因许多因素而异。性能有两个方面对于扩展 Rails 很重要:

  • 延迟——我们能以多快的速度响应请求?这是通过请求和响应之间耗时来衡量的。
  • 吞吐量——在给定的时间内我们可以处理多少请求?这是以每秒响应来衡量的。

完成一般性能测试后,我们可以很容易地看到瓶颈开始出现。届时,我们可以进一步使用打包工具将关注范围缩小到以下一项或多项,按最常见到最不常见的顺序排列:

  • 数据库问题:糟糕的自定义 SQL、不正确或非最佳的连接和关联、过大的数据库表等。
  • 模型问题:业务规则过于复杂或设计不当。
  • 前端 View 问题:糟糕的 HTML 或 CSS 选择、超大的 javascript 库、未优化的图像等。
  • 事务性问题:运行的 Mongrel(或其他应用服务器)实例太少、硬件不足、 Controller 编写不当或非最佳、应用程序架构不正确等。

人们通常认为事务性问题是性能不佳的原因,但更多时候是由其他类型的问题引起的。

如果您有设计不佳的自定义 SQL、非常大的数据库表或非最佳连接或关联,无论您投入多少硬件,都可能永远无法提高性能。您的 Rails 应用程序无法扩展。同样的事情也适用于一些交易问题。大多数可扩展性问题发生在开发的设计和编码阶段遵循不良做法时。

以下工具将有助于确定瓶颈所在...

  • "query_analyzer "- Bob Silva 的 MySQL 工具,用于自动解释每个查询。
  • "ruby-prof "- 用 C 编写的快速 Ruby 代码分析器。
  • "pl_analyze "- 由 Eric Hodel 编写,分析 SysLogLogger 的记录器输出。
  • "yslow "- 一个 Firebug 插件,用于测量和确定特定页面缓慢的原因。
  • "YUI compressor "- 来自雅虎性能团队的 Javascript/CSS 压缩工具。

一旦确定了问题所在,就可以更容易地归零并解决每个问题。

关于ruby-on-rails - Rails 如何优化我的网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6324335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com