Kiểm tra query n+1 với gem Bullet trong rails
Gem Bullet được thiết kế để giúp bạn tăng hiệu suất của ứng dụng bằng cách giảm số lượng truy vấn nó làm. Nó sẽ xem các truy vấn của bạn trong khi bạn phát triển ứng dụng của bạn và thông báo cho bạn khi nào bạn nên thêm tải mong muốn (N + 1 truy vấn), khi bạn đang sử dụng tải mong muốn mà không ...
Gem Bullet được thiết kế để giúp bạn tăng hiệu suất của ứng dụng bằng cách giảm số lượng truy vấn nó làm. Nó sẽ xem các truy vấn của bạn trong khi bạn phát triển ứng dụng của bạn và thông báo cho bạn khi nào bạn nên thêm tải mong muốn (N + 1 truy vấn), khi bạn đang sử dụng tải mong muốn mà không cần thiết và khi nào bạn nên sử dụng bộ nhớ cache truy cập.
1. Cài Đặt gem Bullet
Bạn có thể cài đặt nó như là một đá quý:
gem install bullet
Hoặc thêm nó vào một Gemfile (Bundler):
gem 'bullet', group: 'development'
2. Cấu hình
Bullet sẽ không làm bất cứ điều gì trừ khi bạn cấu hình cho nó. Thêm vào config / environment / development.rb initializer với đoạn code như sau
config.after_initialize do Bullet.enable = true Bullet.alert = true Bullet.bullet_logger = true Bullet.console = true Bullet.rails_logger = true Bullet.add_footer = true end
Chú thích:
- Bullet.enable = true: kích hoạt Bullet gem, false thì không làm gì cả
- Bullet.alert = true: Hiện cảnh báo query n+1 trên trình duyệt, còn flase thì ngược lại