gpt4 book ai didi

ruby-on-rails - Ruby on Rails : what performance can I realistically aim for?

转载 作者:行者123 更新时间:2023-12-03 09:27:15 26 4
gpt4 key购买 nike

我一直在Ruby on Rails 3中构建应用程序,而我开始担心性能优化。现在,我希望我的问题对这个站点不是太主观,但是我对事实感兴趣,而不是讨论,所以这里是:

当我试图使我的 View 更快地渲染时,我根本不知道一件事:我的目标是什么?给定一个相当复杂的页面,什么加载时间是现实的?我根本没有任何引用。

我通常在应用程序中看到的是这样的:

在397毫秒内完成200 OK(查看:341.1毫秒| ActiveRecord:17.7毫秒)

  • 这是在我的生产服务器上,运行Apache/Passenger。
  • 我是唯一在该服务器上发出请求的(!)服务器,它是一台根服务器(非虚拟服务器),运行Ubuntu,AMD Athlon 64 X2 5600 +,4 GB RAM
  • 也就是说,对于我大多数较复杂的操作(不是很复杂,只需假设它是20个对象的分页 list ,每个对象具有5个计算属性),ActiveRecord时间几乎总是很好(<20-30ms),但是“观看次数”通常大于200毫秒。
  • 现在,我的问题是:当我开始使用RoR时,我的期望(也许是不现实的)是对于大多数具有平均复杂度(例如Facebook,Twitter等,没有数百万用户)的面向消费者的应用程序,我会得到<只要我是唯一一个发出请求的人,加载时间就为20毫秒,而如果有很多人同时发出请求,则单个服务器的加载时间只会接近100毫秒或更长。
  • 我的期望也是数据库请求将成为主要瓶颈,因为所有其他请求只是相对简单的计算而没有任何实际的复杂性。我认为从数据库中获取所有对象可能需要10毫秒,然后可能需要5毫秒才能运行 Controller 代码,构建 View 等。

  • 由于我从未负责过任何生产应用程序,因此我不知道这种期望是否切实可行。因此,我希望有经验的人向我指出我的现实期望。
  • (例如,“只要您是唯一发出请求的人,除真正讨厌的东西外,几乎所有东西都应在50毫秒内显示”))
  • 或(“即使您是唯一的用户,实际上对于RoR应用程序来说300 ms也并不罕见”)
  • 或(“在开玩笑吗?我在小于您的服务器上的150个并发请求中得到了<10毫秒。您的应用程序肯定有问题)

    再次,我希望这不是太主观,但是我对RoR是否很快并不很感兴趣,我希望有更多经验的人提供有关实际平均数以及生产RoR应用程序可以期望的数据。否则,我根本不知道应该停止优化的那一点,只是接受我永远不会获得10毫秒的加载时间。

  • 最佳答案

    我在每月$ 20的linode服务器上获得的查看时间<20ms。对于中等复杂度的请求,这是经过优化的代码,可以在JRuby上运行。您丝毫没有达到Rails的性能极限。是时候使用探查器,看看花费了多长时间。

    关于ruby-on-rails - Ruby on Rails : what performance can I realistically aim for?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5418620/

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