Hướng dẫn sử dụng CDNSun, dịch vụ CDN có máy chủ ở Việt Nam để tăng tốc Website

Dịch vụ CDN (máy chủ phân tán) là một cách thức tăng tốc website hiệu quả thông qua việc đặt máy chủ lưu trữ dữ liệu tĩnh (hình ảnh, CSS, JS, vân vân) gần người dùng hơn, qua đó giảm thời gian tải trang so với lấy dữ liệu từ máy chủ gốc (ở xa người dùng). Trước đây CDN chỉ là mối quan tâm của những website lớn có người truy cập phân tán toàn cầu, nhưng giờ đây thì cả người chủ web thông thường cũng quan tâm đến nó, trong đó có các chủ web ở Việt Nam.

Có một vài nguyên nhân tạo ra hiện tượng này, có thể kể đến như:

  • CDN giờ không quá đắt đỏ, nhiều dịch vụ có giá chỉ từ 20 USD trở xuống, thậm chí 5 USD/tháng và chất lượng ổn định khiến nhiều người có khả năng tiếp cận hơn.
  • Sự kiện đứt cáp quang biển đi quốc tế diễn ra thường xuyên, lưu lượng ra nước ngoài bị thắt cổ chai dẫn đến việc những chủ web thuê hosting/VPS/máy chủ ở nước ngoài có tốc độ web truy cập rất chậm khi người dùng của họ phần lớn trong lãnh thổ Việt Nam, việc gián đoạn dịch vụ gây ảnh hưởng không nhỏ đến doanh thu và mức độ uy tín.

Cũng vì hiện tượng này nên các chủ web có xu hướng mua hosting gần Việt Nam nhất có thể, ví dụ như Singapore hoặc Nhật, nhưng ngay cả như thế thì nếu đứt cáp nghiêm trọng xảy ra, tốc độ truy cập vẫn giảm đáng kể.

Giải pháp khác giúp họ tránh hiện tượng này là mua hosting ngay tại Việt Nam, nhưng do nhiều vấn đề, trong đó có sự tiện dụng về mặt thanh toán, mức độ chịu tải, hiệu suất hay lo lắng về bảo mật nên không nhiều người chuyển hẳn hosting về Việt Nam, nhất là những người có hiểu biết về kỹ thuật muốn tận dụng khả năng vốn có để tối ưu hóa hoặc/và vì không có quá nhiều kinh phí đủ để mua host thật tốt tại Việt Nam.

Mình cũng rơi vào trường hợp tương tự. Và khi thử tìm các dịch vụ CDN quốc tế có máy chủ tại Việt Nam thì hóa ra không có nhiều. CDNSun là một trong các dịch vụ hiếm hoi có 1 máy chủ tại Hà Nội (cập nhật vào tháng 5, 2019 giờ CDNSun có thêm máy chủ nữa ở Sài Gòn).

Xét về mức độ chi phí, CDNSun có nhiều ưu điểm:

  • Nó không phải là dạng thanh toán cố định hàng tháng, mà là dùng đến đâu trả đến đấy (pay as you go), điều này có lợi cho những người không có nhu cầu cao, bạn dùng ít thì có thể chỉ tốn 5 đô, hay 10 đô trên tháng.
  • Tiền bạn nạp vào tài khoản được sử dụng trong vòng 1 năm (tối thiểu 45 đô mỗi lần nạp), và hết tháng không dùng hết thì nó chuyển sang tháng sau.
  • Giá trên 1GB chấp nhận được(*) và thay đổi tùy theo khu vực, và nó cho phép mình chọn khu vực để CDN, do vậy bạn có thể loại trừ những nơi có giá quá cao (một số nước ở Châu Á và Châu Mỹ La Tinh, Úc).
  • Gói rẻ nhất cũng có khả năng tạo được CDN cho tới 10 website khác nhau, con số này là đủ dùng với phần lớn mọi người.

(*) Bảng giá CDN trên 1GB ở một số khu vực như sau (tháng 1/2019):

bảng giá CDN

CDNSun cho phép trải nghiệm 1 tháng với 5 USD miễn phí, chỉ cần bạn có email tên miền là được (nghĩa là không phải email phổ thông kiểu gmail hoặc yahoo, hotmail, thường sẽ là đuôi tên miền chính website của bạn).

Địa chỉ website của CDNSun: https://cdnsun.com

Nếu bạn chưa có email tên miền có thể lên mạng tìm cách, có cả cách miễn phí lẫn trả phí. Thao tác đăng ký cũng đơn giản nên mình không viết ra đây. Nếu có điều kiện bạn có thể dùng gói email tên miền của Google có tên G Suite.

Đánh giá tốc độ của CDNSun

Có lẽ trực quan là tốt nhất. Đường link bên dưới chứa 2 ảnh giống nhau hoàn toàn, khoảng 1MB mỗi cái, một ảnh lưu ở CDNSun/PoP Hà Nội, còn một ảnh lưu ở host gốc của website này ở Hoa Kỳ:

So sánh tốc độ tải ảnh có và không có CDN.

Kéo dữ liệu về

Sau khi tạo tài khoản thành công bạn vào New Service:

dịch vụ CDN của CDNSun

Phần này tùy thuộc vào trang web của bạn có dùng liên kết bảo mật https hoặc chỉ đơn thuần http mà sẽ có cách làm khác nhau.

A. Dùng http thường

tạo CDN cho web

Sau đó bạn cần đợi khoảng 5 phút để nó kéo dữ liệu từ hosting của bạn ra các máy chủ CDN trên toàn cầu. Trong lúc chờ đợi bạn nên dành thời gian để trỏ máy chủ CDN thường có tên *.r.cdnsun.net về tên miền CDN mà bạn vừa đặt ở trên (phần CDN Service Domain).

Việc trỏ này cũng đơn giản thôi, bạn chỉ cần đăng nhập vào phần lưu trữ DNS của tên miền (thường ở nhà đăng ký tên miền hoặc hosting của bạn) rồi sau đó thêm bản ghi CNAME để kết nối 2 cái lại với nhau. Nó cũng rất giống với việc trỏ tên miền về hosting.

Trông nó sẽ giống như thế này:

trỏ cdn tên miền

B. Dùng https

Giờ chắc phần lớn người đang đọc bài này đều có web dùng https. Việc sử dụng CDN cho web dùng https phức tạp hơn một chút. Vì khi web của bạn dùng https thì CDN của bạn cũng phải dùng https. Trong trường hợp này mình sẽ hướng dẫn các bạn cách đơn giản nhất trước sau đó nếu ai cần có thể đọc tiếp cách nâng cao.

Cách đơn giản:

Cũng ở phần New Service, bạn nhấn vào Advanced Settings để mở phần cài đặt nâng cao:

cài đặt nâng cao

Tiếp đến bạn thực hiện 2 thay đổi như ở bên dưới (chọn Enabled ở phần Shared SSL):

thay đổi tùy chọn

Lúc này phần tên CDN Service Domain vẫn do bạn đặt nhưng đuôi của nó không còn là dạng tên miền của bạn nữa mà lại có đuôi là r.worldssl.net (đây là nơi lưu trữ CDN bảo mật dùng chung), nhiều người cho rằng điều này là một bất lợi cho SEO (trước đây mình cũng tưởng như vậy), nhưng thực ra không đúng và mình sẽ nói cụ thể hơn ở phần sau:

tên CDN khác

Cuối cùng bạn cũng nhấn Create Service để nó khởi tạo dịch vụ, và cũng đợi một vài phút để nó kéo dữ liệu về. Điều khác biệt là phần này bạn không phải trỏ CNAME nữa vì CDN Service Domain (tên miền phục vụ CDN) nằm ngoài tên miền của bạn.

Cách nâng cao:

Cách đơn giản ở trên làm cho tên miền phục vụ CDN của bạn không còn là tên miền riêng, nếu bạn có khuynh hướng SEO “hoàn hảo”, muốn tên miền CDN phải là dạng subdomain của tên miền chính thì cách làm như sau.

Ở phần tạo CDN Service Domain, bạn lựa chọn như này:

lựa chọn tạo CDN

Sau đó bạn click vào hình cái khóa bên tay trái:

bộ khóa cho CDN

Mục đích ở phần này thiết lập bộ khóa bảo mật https cho tên miền CDN của bạn để nó có dạng https://cdn.ten-mien-cua-ban.com

Giải thích thì phức tạp, mà mình cũng không hiểu cặn kẽ để mô tả được. Túm lại, ở phần này, chúng ta phải điền thông tin cho chứng chỉ (PEM certificate) và khóa (Certificate key) đang bị bỏ trống:

thông tin xác thực và khóa

Vậy lấy cái này ở đâu. Bạn có thể vào trang https://www.sslforfree.com/ để tạo bộ chứng chỉ bảo mật cho bản thân.

Cách làm như sau. Bước đầu là nhập tên miền CDN muốn tạo chứng chỉ bảo mật:

nhập tên miền muốn tạo chứng chỉ SSL

Sau đó bạn xác nhận sở hữu tên miền này thông qua DNS:

xác nhận tên miền thông qua DNS

Xác thực và tải xuống bộ chứng chỉ khóa:

tải xuống bộ chứng chỉ

Đây là chứng chỉ miễn phí của Let’s Encrypt, sau 3 tháng nó sẽ hết hạn, và tạo chứng chỉ mới cho bạn (cũng vẫn miễn phí). Bạn cần đăng ký email để nhận chứng chỉ mới.

Có được bộ chứng chỉ rồi, bạn nhập từng cái tương ứng vào ô thích hợp, rồi nhấn lưu là thành công.

Để kiểm tra, bạn thử truy cập một ảnh thông qua CDN bằng hình thức https xem đã được chưa, nếu được là OK. Như của mình ở đây:

kiểm tra CDN thành công

Bạn có thể mua chứng chỉ SSL để thời gian được dài hơn. (xem thêm bài viết: Một số rắc rối thường gặp khi lần đầu sử dụng CDN để tăng tốc web).

P/S: Ở phần trên các bạn có thể thấy để thiết lập tên miền CDN dạng subdomain của tên miền chính mất rất nhiều công sức và thời gian, trong khi thực tế nó không có nhiều ý nghĩa về SEO, do vậy ở thời điểm này các bạn không cần quan trọng điều đó mà nên dùng tên miền CDN mặc định của CDNSun để thiết lập cho nhanh. Bạn có thể đọc thêm bài này để biết được lý do vì sao: https://chimcat.net/thiet-lap-ten-mien-tuy-chinh-cdn/

Thiết lập để CDN chính thức chạy trên website của bạn

Ở phần trên chỉ là kéo dữ liệu gốc của bạn về các máy chủ CDN phân tán toàn cầu và tạo tên miền đẹp cho CDN, giờ là bước thiết lập để các đường dẫn của CDN chèn vào để thay thể đường dẫn cũ hiện đang trỏ về hosting của bạn.

Bạn nên dùng một trong các plugin như W3 Total cache, WP Super cache, WP Rocket (các chương trình tăng tốc cho WordPress) để làm việc này. Nhiều người dùng WP Fastest cache bản miễn phí thì sẽ chỉ đáp ứng được một nửa. Khi ấy bạn có CDN cho phiên bản desktop nhưng lại không có cache cho bản mobile.

Ví dụ cho plugin WP Rocket, bạn làm như trong hình, rồi nhấn lưu là xong, dĩ nhiên địa chỉ tên miền phục vụ CDN phải là của bạn, trong hình là cái của mình:

Cài CDN bằng WP Rocket

Ví dụ cho plugin WP Fastest Cache (chỉ dùng nếu bạn sử dụng bản có phí), những cái khác làm cũng tương tự, hoặc nếu cần rõ hơn bạn có thể search.

nhập thông tin CDN cho web

Tiếp đến nhấn Next vài lần là xong. Cuối cùng xóa cache cũ, để phiên bản cache có chứa các đường dẫn CDN mới giúp tăng tốc cho bạn.

xóa cache cũ

Ngoài ra nếu không muốn dùng tính năng CDN tích hợp trong plugin cache, bạn có thể dùng plugin đơn giản sau để tích hợp: https://wordpress.org/plugins/cdn-enabler/ Nó là sản phẩm của KeyCDN, cũng là một dịch vụ CDN khá tiếng tăm.

Thay đổi vị trí phục vụ CDN để tiết kiệm tiền

Như trên có nói CDNSun cho phép mình thay đổi vị trí máy chủ CDN, bật tắt từng nơi, đây là tính năng bạn nên dùng để tiết kiệm chi phí, vì giá khác nhau nhiều, có khi đến gần 3 lần. Hầu hết các máy chủ ở Hoa Kỳ và Châu Âu khá rẻ. Còn ở Châu Á (trong đó có Việt Nam) thuộc tốp đắt nhất, nhưng dĩ nhiên bạn không được tắt máy chủ ở Việt Nam đấy nhé! Mục đích của cả bài này chỉ vì CDNSun có máy chủ ở Hà Nội thôi đấy!

Mặc định là nó bật tất cả các vị trí trên toàn cầu (CDNSun có 50 máy chủ). Bạn vào phần location để tắt vị trí nào không thích:

bật tắt các vị trí máy chủ CDN không quan trọng và tốn tiền

Mình thường tắt các vị trí sau: Châu Mỹ, Châu Phi, và vài nước có giá cao ở Châu Á (bạn sẽ nhìn thấy thông tin giá ở ngay bên cạnh).

So sánh CDNSun với Cloudflare

Sẽ hơi khập khiễng khi đặt 2 dịch vụ này với nhau để cân đong đo đếm, nhưng dù sao chúng đều có đích chung là tăng tốc website nên vẫn có thể đánh giá được:

 CDNSunCloudFlare
Dịch vụCDN truyền thốngCDN tích hợp nhiều cách tăng tốc khác + bảo mật
Cài đặtKhá phức tạpRất dễ, bạn có thể xem hướng dẫn sử dụng Cloudflare ở đây
Giá cảRẻ, phù hợp cả với website nhỏĐa dạng các gói từ Miễn phí, 20 USD/ tháng đến 200 USD/tháng
PoP tại Việt NamHà NộiHà Nội, Sài Gòn. Tuy nhiên khi mình dùng gói 20 USD/tháng của Cloudflare thì thấy dữ liệu vẫn chủ yếu lấy từ HongKong. Có thể các thiết lập ở Việt Nam vẫn chưa hoàn thiện
Quy mô công tyNhỏRất lớn
Đối tượng khách hàng chủ yếuThị trường ngách cho chủ web có am hiểu ít nhiều về công nghệĐộ phủ rất lớn, do cài đặt đơn giản
Tốc độ khi đứt cápTốtKhá

Phần so sánh tốc độ khi đứt cáp mình dựa trên cảm nhận cá nhân, và thực tế mọi người than phiền mỗi khi có vấn đề về kết nối. Nó có tính thời điểm và có thể không chính xác vào lúc bạn đang đọc bài viết này.

Leave a Comment