12/08/2018, 17:02

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             </div>
            
            <div class=
0