rails 性能优化以及代码质量

推荐几个gem,关于性能优化,以及项目代码质量的把关。

1、N+1查询检测

Gemfile添加

1
2
3
4
group :development, :test do
# notify you when you should add eager loading (N+1 queries)
gem 'bullet'
end

development.rb添加,更多的配置项可以参考官方文档

1
2
3
4
config.after_initialize do
Bullet.enable = true #是否开启
Bullet.alert = true #是否提示
end

解决的方式就是通过添加includes,关联加载的几种写法中文指南

2、检测代码质量

Gemfile添加

1
2
3
4
group :development, :test do
# rails_best_practices is a code metric tool to check the quality of Rails code.
gem 'rails_best_practices'
end

bundle之后在项目路径下执行

1
$ rails_best_practices .

可查看到具体的提示信息,根据提示优化代码格式。官方文档

3、显示页面加载时间,以及sql、view耗时情况官方文档

Gemfile添加

1
2
3
4
group :development, :test do
# Middleware that displays speed badge for every html page. Designed to work both in production and in development.
gem 'rack-mini-profiler'
end

可搭配其它插件一起使用,例如:

1
2
3
4
5
6
# For memory profiling
gem 'memory_profiler'
# For call-stack profiling flamegraphs
gem 'flamegraph'
gem 'stackprof'