Categories CDN

Nên sử dụng CDN có vị trí máy chủ ở Việt Nam + Prefetch để tăng tốc độ Website và hạn chế gián đoạn truy cập xảy ra không lường trước

Tôi biết rất nhiều người vì các lý do khác nhau vẫn sử dụng hosting ở bên ngoài Việt Nam, thường là Singapore, Nhật, Hongkong hoặc xa thì Hoa Kỳ.

Tuy có nhiều lợi ích, chẳng hạn như bảo mật tốt, khả năng chịu tải cao, tính năng không bị giới hạn nhiều, nhưng chắc chắn máy chủ web đặt bên ngoài lãnh thổ sẽ làm gia tăng độ trễ, dù ít dù nhiều. Điều này thường không thành vấn đề nếu kết nối đi quốc tế không bị ảnh hưởng, nhưng sẽ trở nên nghiêm trọng, thường xuyên bị gián đoạn nếu bị đứt cáp.

Hiện tượng đứt cáp diễn ra không biết trước với thời gian sửa chữa dài (có thể lên đến cả tháng) sẽ ảnh hưởng rất xấu đến khả năng truy cập của người dùng tại Việt Nam.

Khi đó tốt nhất để dự phòng, bạn nên dùng CDN có máy chủ ở Việt Nam, nó sẽ host các file tĩnh như CSS, JS cũng như ảnh giúp quá trình truy cập dễ dàng hơn rất nhiều. Chỉ duy nhất file HTML có dung lượng thường là dưới vài chục KB là phải lấy từ host gốc bên nước ngoài.

Khuyến nghị của tôi là bạn nên sử dụng CDNSun, tuy không phải là CDN phổ biến, và cũng không rẻ (ngang ngửa với KeyCDN, nhưng đắt hơn kha khá BunnyCDN), nhưng nó có ưu điểm quan trọng không thể thay thế là có máy chủ tại Hà Nội và Sài Gòn (đôi khi họ có cả hai vị trí này, đôi khi chỉ có một trong hai vị trí).

Cập nhật: một lựa chọn CDN tốt hơn mà tôi mới phát hiện là BizFly CDN. Họ là dịch vụ CDN trong nước, có chất lượng tốt, rất thích hợp với những ai chỉ có người dùng ở Việt Nam.

Làm thế nào phát hiện được vấn đề đứt cáp?

Có hai cách:

  1. Bạn thường xuyên truy cập các trang chuyên thông báo vấn đề này, ví dụ như đường link của Canh Me mà ở trên tôi đã dẫn;
  2. Bạn sử dụng dịch vụ theo dõi uptime để biết khi nào website gia tăng độ trễ bất thường. Tuy nhiên để theo dõi độ trễ từ Việt Nam, bạn phải sử dụng dịch vụ theo dõi uptime có máy chủ tại Việt Nam, theo tôi biết hiện nay chỉ có một dịch vụ như vậy là site24x7.

Ngay cả không đứt cáp, các gián đoạn vẫn có thể xảy ra

Tôi kinh nghiệm điều này khá nhiều khi về quê sử dụng internet. Vì lý do nào đó mà đường truyền hay xảy ra tình trạng tốc độ thay đổi thất thường, ngay cả khi lắp mạng riêng tại nhà, nhất là vào giờ cao điểm.

Điều này có hiệu ứng không khác gì đứt cáp, làm tốc độ website giảm xuống đáng kể, thậm chí là gián đoạn.

Sử dụng prefetch để tăng cường khả năng nội dung website hiển thị được với người dùng

Giả dụ bạn làm cai thầu xây dựng, và bài toán là thế này, việc xây dựng của bạn phụ thuộc nhiều vào yếu tố thời tiết, khi trời mưa dễ làm trôi vữa, yếu tường, trong khi trời nắng gắt thì khiến thợ hồ giảm năng suất đi rất nhiều.

Khu vực bạn làm thời tiết lại khắc nghiệt theo hướng như vậy, thế thì bạn có nghỉ vào ngày chủ nhật không, như cách mọi người thường làm hiện nay.

Câu trả lời là KHÔNG. Chủ nhật có thể là ngày rất đẹp và thuận lợi cho xây dựng, trong khi đó, ngày thứ hai, thứ ba, hoặc bất kỳ ngày còn lại nào khác theo ‘lịch làm việc bình thường’ có thể có thời tiết rất xấu. Vẫn làm vào ngày chủ nhật, và nghỉ vào lúc thời tiết xấu sẽ giúp bạn có được hiệu suất làm việc tốt nhất.

Phần trên giúp bạn hiểu cơ chế của prefetch. Nó tải trước các liên kết khác ngay cả khi người dùng chưa click vào chúng. Và để không ảnh hưởng đến kết nối hiện tại, trình duyệt chỉ tải khi ở trạng thái rảnh rỗi.

Khi tải trước và lưu sẵn vào bộ nhớ cache như vậy, khi người dùng click vào liên kết, họ sẽ có tốc độ truy cập gần như ngay lập tức đến trang. Và quan trọng hơn, đảm bảo được rằng nội dung đó có khả năng được truy cập.

Kết nối chợp chờn không khác gì thời tiết lúc mưa, lúc nắng. Prefetch do đó tận dụng tối đa cơ hội khi kết nối ở trạng thái bình thường, tránh trường hợp lúc người dùng click thì kết nối lại có vấn đề.

Tuy nhiên prefetch không phải là không có nhược điểm, nó yêu cầu hosting của bạn phải có cấu hình khỏe hơn khá nhiều, vì lúc này yêu cầu về RAM và CPU của nó có thể tăng gấp đôi, gấp ba tùy thuộc vào số lượng liên kết đồng thời bạn muốn tải trước.

Nếu host không quá mạnh, bạn nên đặt số lượng liên kết tải trước xuống tối thiểu, đó là một.

Plugin giúp bạn tích hợp prefetch vào WordPress là Flying Pages. Bạn nên kiểm tra kỹ website theo kiểu thủ công sau khi tích hợp prefetch, vì có vẻ trên một số kiểu cài đặt, prefetch thậm chí làm chậm website hoặc/và cho tốc độ lúc rất nhanh lúc lại chậm đáng kể.

Ngoài prefetch, bạn có thể quan tâm đến preconnect và preload, cũng là các kiểu tải trước khác. Điều hay là preconnect và preload có thể thoải mái dùng mà không cần nâng cấp hosting- nó chỉ kết nối hoặc tải trước (các) tài nguyên của phiên làm việc hiện tại mà thôi.

Lưu ý: Prefetch chỉ phù hợp để triển khai trên các mạng đủ nhanh, trên các mạng chậm sẽ không ổn. Do vậy ý tưởng triển khai Prefetch khi đứt cáp có khả năng là không khả thi.

Các cách khắc phục khác

Bất kỳ biện pháp làm giúp làm giảm dung lượng website sẽ có ích trong việc giảm thời gian tải trang, tương đồng với việc giảm ảnh hưởng xấu của chuyện tốc độ internet bị sụt giảm đột ngột:

Back to Top