在 Ruby Web 应用程序中节省 CPU 周期的方法有哪些?随着我的项目不断扩大,渲染、运行方法、数据库查询的平均时间也在增加。我认为60ms的平均值很高。有什么设计指南可以保持机器代码的紧凑和紧凑吗?喜欢 - 完全面向对象?使用更多变量和内存来避免重复迭代等?合并数据库查询?
问问题
241 次
4 回答
3
在实际开始调整所有内容之前尝试找出您的瓶颈。
你确定问题出在CPU上?它会是你的存储系统吗?是你的方法吗?是你的数据库吗?你在你的数据库中使用 idices 吗?你在你的数据库中使用更多你需要的索引吗?
于 2012-05-08T15:06:28.623 回答
3
您的问题没有一站式解决方案。
您应该针对分析器运行您的应用程序,这将确定您的软件的哪个点占用最多的资源。优化该部分,然后重复操作,直到您对结果满意为止。
有很多测量性能的工具,ruby-prof、gperftools 和 newrelic 之类的东西,在 google 上查看这个关键字
于 2012-05-08T15:07:24.380 回答
1
您是否研究过缓存?它是加速您的 Web 应用程序并使其扩展到高流量的一个非常重要的工具,并且在许多情况下,它比常规代码优化效率高出几个数量级。
于 2012-05-08T21:31:05.217 回答
0
除了分析代码以找到实际上很慢的部分的(正确)答案之外,您还可以查看对于您的用例来说可能更快的替代 Ruby 实现。
看:
用于报告比标准 1.9 解释器更快的两个替代方案。
于 2012-05-08T15:53:05.810 回答