1. Hiện tượng:
Nếu trang web của bạn sử dụng mã nguồn như Joomla, wordpress… có bật module lấy RSS từ trang khác có thể sẽ khiến việc truy cập vào trang web bạn bị chậm đi từ 200%-300%.
2. Phân tích nguyên nhân:
Quá trình load trang web bình thường được mô tả như sau:
Khách truy cập (1) —> Máy chủ xử lý dữ liệu (2) —> Trả thông tin về máy khách (3)
Nếu bạn có sử dụng module RSS quá trình sẽ như sau:
Khách truy cập (1) —> Máy chủ xử lý dữ liệu (2) —> Máy chủ lấy RSS —> Trang chủ RSS xử lý —> Trả thông tin RSS cho máy chủ —> Máy chủ xử lý dữ liệu (2) —> Trả thông tin về máy khách (3)
Ta thấy sẽ có thêm 3 công đoạn nữa được chèn vào giữa quá trình xử lý, quá trình này gọi là quá trình lấy dữ liệu từ trang chủ RSS về máy chủ, rồi máy chủ mới trả RSS này cho người truy cập. Nếu quá trình này nhanh thì trang web trả về cho khách truy cập nhanh và ngược lại sẽ rất lâu. Đặc biệt tốc độ truy cập sẽ bị kéo lên 200%-300%, nếu như bạn lấy RSS từ những trang Web đặt ở Việt Nam.
3. Giải pháp:
Có 2 giải pháp để cải thiện tốc độ của quá trình này
Thứ 1: Sử dụng Feedburner, đây là dịch vụ cung cấp việc ghi RSS vào 1 trang web trung gian. Tốc độ của quá trình lấy dữ liệu từ trang chủ RSS sẽ được giảm đi rất nhiều, do RSS đã được lưu vào 1 máy chủ trung gian.
Thứ 2: Thực hiện việc ghi cache RSS vào máy chủ. Do module RSS không phải là module hệ thống nên hầu hết trên các mã nguồn có hỗ trợ ghi cache trang web thì lại bỏ qua việc ghi cache của RSS. Ví dụ như trong Joomla, bạn bật plugin cache thì plugin này chỉ ghi lại cache của nội dung web lấy từ database chứ không hề lưu cache cho nội dung lấy từ RSS. Bạn phải bật việc ghi cache cho module RSS này riêng.
Với Joomla, bạn có thể bật như sau: truy cập mục quản lý module, nhấp chọn module RSS (mod_feed), click chọn Tham số nâng cao, lựa chọn Lưu trữ là Dùng theo cấu hình chung (mặc định là không lưu trữ), sau đó bạn chọn thời gian lưu cache là 1800, hoàn tất nhấn Lưu. Như vậy, sau khi thực hiện thao tác này, cache của RSS sẽ được lưu lại, quá trình lấy RSS sẽ chỉ thực hiện 1 lần duy nhất mỗi 30 phút, bạn truy cập lại trang web sẽ thấy tốc độ được cải thiện một cách không ngờ.
Leave a Reply