Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Ruby

Theo dõi số lần truy cập bộ đệm bằng cách sử dụng số liệu tùy chỉnh để nâng cao hiệu suất

Mỗi máy chủ chạy ứng dụng sử dụng AppSignal sẽ gửi một tập hợp các mẫu và số liệu tới API Push của chúng tôi cứ sau 30 giây.

Mỗi yêu cầu có một khóa mà chúng tôi sử dụng để xác định dữ liệu đến từ ứng dụng nào. Để làm điều đó, chúng tôi cần truy vấn cơ sở dữ liệu của mình để tìm ứng dụng cho mỗi yêu cầu đến. Với ba mươi tỷ yêu cầu mỗi tháng, chúng tôi không ngừng cố gắng tìm cách giảm số lượng truy vấn để giúp AppSignal hoạt động nhanh hơn.

Chúng tôi đã triển khai bộ nhớ đệm để giảm số lượng truy vấn trên các cụm cơ sở dữ liệu của mình. Bất cứ khi nào chúng tôi tìm nạp một ứng dụng từ cơ sở dữ liệu, chúng tôi sẽ lưu trữ ứng dụng đó trong Memcached trong một phút. Sau khi triển khai thay đổi này vào sản xuất, chúng tôi nhận thấy rằng mình đang làm nhiều hơn truy vấn hơn trước. Có vẻ như bộ đệm bị vô hiệu hóa quá thường xuyên. Để tìm hiểu xem điều đó đã xảy ra ở đâu, chúng tôi đã thêm một số chỉ số tùy chỉnh để tìm ra nơi bộ nhớ đệm bị vô hiệu hóa không đúng cách.

Có một số trường hợp chúng tôi vô hiệu hóa bộ nhớ đệm, chẳng hạn như khi thời gian xử lý đẩy được cập nhật hoặc khi chúng tôi phát hiện một không gian tên mới.

 

Chúng tôi đã thêm nhiều bộ đếm để xác định lỗi vô hiệu hóa bộ đệm nào là thủ phạm. Trong ví dụ này, chúng tôi tăng app.cache.invalidate bộ đếm để đếm tổng số lần xác thực và sử dụng các khóa cụ thể như app.cache.invalidate_push_timeapp.cache.invalidate_namespaces đối với các trường hợp vô hiệu cụ thể.

 

Bằng cách thêm các số liệu tùy chỉnh ở trên, chúng tôi có thể lập biểu đồ số lần truy cập bộ nhớ đệm theo thời gian. Rõ ràng ngay lập tức khóa bộ đệm nào đã gây ra sự gia tăng các truy vấn. app.cache.invalidate_namespaces khóa đã bị vô hiệu đối với mỗi yêu cầu.

Theo dõi số lần truy cập bộ đệm bằng cách sử dụng số liệu tùy chỉnh để nâng cao hiệu suất

Tổng số yêu cầu có thể lưu vào bộ nhớ đệm được tính là app.cache.maybe .

Sau khi triển khai bản sửa lỗi cho sự cố này, số trường hợp vô hiệu đã giảm xuống 0 miễn là vùng tên cho ứng dụng chưa được cập nhật.

Theo dõi số lần truy cập bộ đệm bằng cách sử dụng số liệu tùy chỉnh để nâng cao hiệu suất

Việc thêm số liệu tùy chỉnh giúp bạn dễ dàng hiểu được điều gì đang xảy ra ở đâu, khi nào và tần suất như thế nào. Trong trường hợp này, việc biết số lượng bộ đệm không hợp lệ và hiển thị chúng dưới dạng biểu đồ có thể đọc được cho phép chúng tôi nhanh chóng tìm ra sự cố. Nó chỉ cần một vài dòng mã để tăng một giá trị nhất định và tạo trang tổng quan.

Hãy cho chúng tôi biết nếu bạn có bất kỳ câu hỏi nào về số liệu tùy chỉnh và liệu chúng tôi có thể giúp bạn thiết lập chúng trong ứng dụng của bạn hay không. Chúng tôi rất sẵn lòng trợ giúp!

Theo dõi số lần truy cập bộ đệm bằng cách sử dụng số liệu tùy chỉnh để nâng cao hiệu suất

Robert Beekman

Với tư cách là người đồng sáng lập, Robert đã viết ra cam kết đầu tiên của chúng tôi. Anh ấy cũng là hình mẫu hỗ trợ của chúng tôi và biết tất cả về những chi tiết nhỏ trong mã. Du lịch và chụp ảnh (cùng lúc).

Tất cả bài viết của Robert Beekman