概述
rails 性能调优记录,主要涉及如下几个方面:1, 如何测试性能,基准测试 等工具;2,rails应用程序的性能调优;3,web前端的性能优化;4,其他(如服务器优化,数据库优化,硬件等)
- 性能测试工具
1.1 Benchmark 和 Profile工具
rails自带的测试工具
1.2 query_reviewer
https://github.com/nesquena/query_reviewer
实际上是对mysql的 explain命令的封装,用于测试数据库查询效率的插件
install(plugin)
gem install query_reviewer
script/plugin install git://github.com/nesquena/query_reviewer.git
修改rakefile 文件
# 我的实际测试,加上该句 , rake命令仍然无法运行。发现task.rb的命名和文件夹有问题,应该命名为 tasks.rake 才行。我没有修改。 因为该rake 任务可有可无。begin require 'query_reviewer/tasks' rescue LoadError STDERR.puts "The query_reviewer gem could not be found!" end
rake query_reviewer:setup
1.3 bullet
https://github.com/flyerhzm/bullet
提醒解决n+1的问题
1.4 rails日志分析gem
request-log-analytizer
https://github.com/wvanbergen/request-log-analyzer
1.5 railsbench
https://github.com/skaes/railsbench/tree/15050d8572320fa8552eb5309cb586b2db023347
- rails应用程序
2.1 rails的action, 片段和页面缓存,查询缓存
2.2 查询缓存
2.3 一些缓存的gemcache_fu
cached_model
2.4 rails本身程序的一些问题
rails的helper方法运行一般比较慢
include 级联查询
transaction 事务查询
2.5对于高频的插入数据,可以使用starling 消息队列,或者delayed_job等
http://rubyforge.org/projects/starling/
2.6 ajax 缓存可以使用 if_modified
http://blog.labnotes.org/2007/12/14/if_modified-second-round/
2.7 控制页面加载速度的插件 fastinit
https://github.com/atetlaw/FastInit
http://www.tetlaw.id.au/view/javascript/fastinit
- web 前端的优化
参考文档:
http://foyo99.zhuidaniu.com/blogs/627
http://www.diybl.com/course/3_program/java/javajs/20100803/520904.html
http://www.infoq.com/cn/articles/Rails-Performance
http://developer.51cto.com/art/201007/210769.htm
http://www.letrails.cn/archives/rails-performance-optimization-guide/
http://www.scribd.com/doc/3195556/Ruby-on-Rails10
http://www.iteye.com/topic/157731
最后
以上就是眼睛大哑铃为你收集整理的rails开发利器之rails性能调优的全部内容,希望文章能够帮你解决rails开发利器之rails性能调优所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复