Phân biệt Cache hit và Cache miss

826
20-06-2018
Phân biệt Cache hit và Cache miss

Cache hit và Cache miss sẽ xuất hiện khá nhiều khi bạn sử dụng CDN (mạng phân phối nội dung). Để hiểu rõ hơn Cache là gì cùng Bizfly Cloud tham khảo bài viết sau đây: Cache (bộ nhớ đệm) là gì? Vai trò và phân loại cache

1. Cache Hit là gì?

Một cache hit là trạng thái trong đó: dữ liệu được yêu cầu, được xử lý bởi một thành phần hoặc một ứng dụng được tìm thấy trong bộ nhớ cache. Đây là hình thức cung cấp dữ liệu với tốc độ nhanh chóng hơn cho bộ xử lý vì bộ nhớ cache lúc này đã chứa sẵn dữ liệu được yêu cầu đó rồi.

Cache hit xảy ra khi nội dung mà client yêu cầu được tìm thấy trong bộ nhớ cục bộ (local storage) là cập nhật nhất khi so sánh với cùng một nội dung trên máy chủ gốc (origin server).

Cụ thể quy trình của Cache hit như sau:

Một cache hit xảy ra khi một ứng dụng hoặc phần mềm có request về dữ liệu. Đầu tiên, bộ xử lý trung tâm (CPU) tìm kiếm dữ liệu ở vị trí bộ nhớ gần nhất, thường là primary cache (bộ nhớ đệm chính). Nếu dữ liệu được yêu cầu được tìm thấy trong bộ nhớ cache, nó được gọi là cache hit.

Một cache hit sẽ luôn có khả năng phục vụ dữ liệu nhanh hơn, vì lúc này dữ liệu có thể được truy xuất bằng cách đọc bộ nhớ cache. Cache hit cũng có thể nằm trong những dish cache, đây là nơi lưu trữ các dữ liệu được yêu và truy cập lần đầu tiên.

Có thể thấy cache hit sẽ gắn liền với những sự xuất hiện lần đầu của dữ liệu.

2. Cache Miss là gì?

Một cache miss là trạng thái nơi dữ liệu được yêu cầu xử lý bởi một thành phần hoặc ứng dụng không được tìm thấy trong bộ nhớ cache (cache memory). Nó gây ra sự chậm trễ trong các thực thi bởi chúng cần yêu cầu các chương trình hoặc ứng dụng tìm nạp dữ liệu từ các cấp bộ nhớ cache khác hoặc bộ nhớ chính. Vì không có sẵn các dữ liệu được yêu cầu.

Trái ngược với cache hit, Cache miss xảy ra khi nội dung mà client yêu cầu hoặc không được lưu trong bộ nhớ cache, hoặc có được lưu trong bộ nhớ cache nhưng đã hết hạn và nội dung không được cập nhật khi so sánh với cùng một nội dung trên máy chủ gốc.

Phân biệt Cache hit và Cache miss  - Ảnh 1.

Cụ thể cơ chế của cache miss như sau:

Cache miss xảy ra trong các mô hình và phương thức truy cập bộ cache memory. Đối với mỗi yêu cầu mới, bộ xử lý sẽ ưu tiên tìm kiếm dữ liệu đó trong primary cache trước tiên. Nếu dữ liệu không được tìm thấy tại đây, nó được coi là một cache miss.

Mỗi cache miss sẽ góp phần làm chậm quá trình xử lý tổng thể bởi vì sau một cache miss, bộ xử lý trung tâm (CPU) sẽ tìm một bộ nhớ đệm có mức cao hơn, chẳng hạn như L1, L2, L3 và bộ nhớ truy cập ngẫu nhiên (RAM) cho dữ liệu đó. Hơn nữa, một entry mới còn phải được tạo ra và được sao chép trong cache trước khi nó có thể được truy cập bởi bộ vi xử lý.

3. Cache hit và Cache miss khác nhau như thế nào?

Phân biệt Cache hit và Cache miss  - Ảnh 2.

Sự khác biệt giữa Cache hit và Cache miss

Một cache hit nghĩa là yêu cầu của người dùng đối với một nội dung được thỏa mãn bởi phần tử của bộ nhớ cache (cache máy tính/ web cache/ CDN edge server,...), tức là nội dung được yêu cầu được trình bày chính xác trong phần tử đó của cache. Kết quả là, phần tử trong bộ nhớ cache gửi lại dữ liệu nội dung cho người dùng cuối khiến sự phản hồi trở nên nhanh chóng hơn.

Bên cạnh đó, cache miss liên quan đến một máy chủ cache cụ thể có nghĩa là nội dung được yêu cầu không có sẵn trong bộ nhớ, do đó, request phải được chuyển tiếp đến các cache  ở cấp cao hơn để thực hiện truy vấn. Trong trường hợp xấu nhất, request của người dùng sẽ phải gửi đến tận máy chủ lưu trữ gốc (chẳng hạn như server HTTP). Do đó, việc phân phối nội dung tương ứng trở lại người dùng có thể bị trễ (thường là lâu hơn). Điều này có thể dẫn đến đóng băng chuyển động (rebuffering) trong các ứng dụng phát trực tuyến video.

Khi này để hạn chế Cache miss, CDN có thể là một giải pháp hữu hiệu cho website của bạn.

Cảm ơn các bạn đã theo dõi!

GIANG - VCCloud

>> Có thể bạn quan tâm: Web cache là gì? Nó có tác dụng gì đối với website?

SHARE