在Ruby Web应用程序中保存CPU周期的方法有哪些?随着我的项目不断扩展,渲染,运行方法,db查询的平均时间也在增加。我认为平均值为60毫秒。 任何设计指南,以保持机器代码紧凑和紧凑?喜欢 - 完全是OO? 使用更多的变量和内存来避免重复迭代等?合并数据库查询?
答案 0 :(得分:3)
在实际开始调整所有内容之前,尝试找出瓶颈。
您确定问题出在CPU中吗?它可能是你的存储系统?,这是你的方法吗?是你的DB吗?你在数据库中使用idices吗?你在db中使用了多少索引吗?
答案 1 :(得分:3)
对于你的问题,没有一个解决方案。
您应该针对分析器运行应用程序,这将确定您的软件的哪个点占用最多的资源。优化该部分,然后重复操作,直到您对结果感到满意为止。
有很多衡量性能的工具,ruby-prof,gperftools以及像newrelic这样的东西,请在google上查看这个关键字
答案 2 :(得分:1)
你有没有看过caching?它是加速Web应用程序并使其扩展到高流量的一个非常重要的工具,在许多情况下,它比常规代码优化的效率高出几个数量级。
答案 3 :(得分:0)
除了(正确)回答分析代码以找到实际上很慢的部分之外,您还可以查看可能对您的用例更快的替代Ruby实现。
请参阅:
报告的两个替代方案比标准1.9解释器更快。