[Memcached] 10 điều cần lưu ý khi làm việc với dịch vụ Memcached

Chúng ta sẽ cùng đến với top 10 điều lưu ý nho nhỏ cực kì cơ bản khi bạn có nhu cầu làm việc với hệ thống dịch vụ "Memcached".

Sau đây sẽ là danh sách 10 điều cần lưu ý khi bạn bắt tay vào làm việc với dịch vụ hệ thống Caching – Memcached nhé. Bài viết này có thể coi là 1 note nhỏ, nên mặc định các bạn đọc qua thì nên có kiến thức nhất định về dịch vụ “Memcached”.

memcached_layer1

Mười điều lưu ý khi làm việc với dịch vụ “Memcached”

1. Hãy lưu ý đến các dữ liệu cũ đã được cache trên Memcached về thời gian hết hạn lưu trữ của dữ liệu đó. Ngoài ra nên lựa chọn thời gian hết hạn lưu trữ (expiry time) phù hợp để tránh tình trạng ngốn tài nguyên bộ nhớ không cần thiết.

2. Phải luôn ghi nhớ trong đầu là “Memcached” không phải là Cơ Sở Dữ Liệu, nên đừng bao giờ nghĩ rằng một giá trị tạo ra được lưu trữ trên Memcached thì nó sẽ nằm ở đó mãi cho đến khi được chúng ta xoá đi. Không phải đâu nhé.

3. Lưu ý kế tiếp là chúng ta không nên lưu trữ dữ liệu thường xuyên được cập nhật như kiểu dữ liệu cần thiết để lưu xuống CSDL SQL thì nhóm developer lại lập trình lưu dữ liệu đó lên “Memcached” hoàn toàn và quên update xuống phía backend CSDL.

4. Có rất nhiều ngôn ngữ lập trình khác nhau có thể sử dụng để tương tác hoạt động lưu trữ giá trị trên Memcached cùng một thời điểm và cùng 1 hệ thống. Nên hãy quan tâm đến việc tương thích và các đặc tính khác của ngôn ngữ lập trình dùng để kết nối đến dịch vụ Memcached.

5. Nếu bạn cấu hình nhiều hệ thống “Memcached” đơn lẻ thành 1 cụm cluster các hệ thống “Memcached” thì nhớ sử dụng các giá trị cấu hình phân tải ưu tiên (weight) để chúng ta có thể phân chia số lượng nhiều kết nối đến hệ thống “Memcached” nào có nhiều RAM hơn chẳng hạn.

6. Một điều nữa cũng vô cùng quan trọng, đó là “Memcached” hoàn toàn về bản chất tự thân nó không có bất kì khả năng bảo mật nào cả nên bạn thường sẽ phải setup tường lửa để kiểm soát các kết nối đến dịch vụ “Memcached” là trong tầm tay và có thể không public ra ngoài Internet.

7. Phía quản trị viên nên benchmark thử khả năng đáp ứng của dịch vụ “Memcached” trước khi đưa vào hoạt động hệ thống công khai.

8. Với mỗi kết nối truy xuất dữ liệu trên “Memcached”, hệ thống sẽ phải mở mới một kết nối và vì thế bạn nên nhắm trước tiên liệu cho dịch vụ “Memcached” một số lượng các kết nối đồng thời có thể chịu tải được sau khi đã benchmark ở phần trên.

9. Khi sử dụng “Memcached” thì không bao giờ cho phép dịch vụ này phải thao tác sang phân vùng “SWAP” cũng như không nên cấu hình cho gán dung lượng RAM được phép sử dụng bởi dịch vụ “Memcached” cao hơn dung lượng thực tế hệ thống đang có. Điều này cực kì gây ra hậu quả nghiêm trọng về hiệu suất hoạt động của Memcached.

10. Hãy luôn cố gắng cache các đối tượng là các dữ liệu trả về đã được qua các công đoạn khởi tạo phức tạp như .html được generate bởi tiến trình PHP,… và hạn chế lưu trữ cache các nguồn dữ liệu thô kiểu vừa được lấy trích xuất từ CSDL. Phần này thiên về nhóm lập trình sử dụng Memcached.

Vậy là chúng ta đã đi qua 10 điều lưu ý rồi nhé. Cám ơn các bạn đã theo dõi.

Previous article[Nginx] Hướng dẫn cấu hình Nginx drop các request có Header “Host” không hợp lệ
Next article[LinuxTool] Hướng dẫn sử dụng lệnh “tee” trên Linux cùng ví dụ
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !