如何在Ruby / Rails中节省CPU周期?

时间:2012-05-08 15:00:45

标签: ruby ruby-on-rails-3 performance performance-testing

在Ruby Web应用程序中保存CPU周期的方法有哪些?随着我的项目不断扩展,渲染,运行方法,db查询的平均时间也在增加。我认为平均值为60毫秒。 任何设计指南,以保持机器代码紧凑和紧凑?喜欢 - 完全是OO? 使用更多的变量和内存来避免重复迭代等?合并数据库查询?

4 个答案:

答案 0 :(得分:3)

在实际开始调整所有内容之前,尝试找出瓶颈。

您确定问题出在CPU中吗?它可能是你的存储系统?,这是你的方法吗?是你的DB吗?你在数据库中使用idices吗?你在db中使用了多少索引吗?

答案 1 :(得分:3)

对于你的问题,没有一个解决方案。

您应该针对分析器运行应用程序,这将确定您的软件的哪个点占用最多的资源。优化该部分,然后重复操作,直到您对结果感到满意为止。

有很多衡量性能的工具,ruby-prof,gperftools以及像newrelic这样的东西,请在google上查看这个关键字

答案 2 :(得分:1)

你有没有看过caching?它是加速Web应用程序并使其扩展到高流量的一个非常重要的工具,在许多情况下,它比常规代码优化的效率高出几个数量级。

答案 3 :(得分:0)

除了(正确)回答分析代码以找到实际上很慢的部分之外,您还可以查看可能对您的用例更快的替代Ruby实现。

请参阅:

报告的两个替代方案比标准1.9解释器更快。