- Published on
Sử dụng Cloudflare ở Việt Nam không nhanh như bạn nghĩ
- Authors
- Name
- Anh Tuấn
- @datuan
Theo thông tin chính thức thì từ cuối năm 2018 Cloudflare đã mở 2 data center Cloudflare ở Việt Nam 🔗 bao gồm tại Hà Nội và Tp. Hồ Chí Minh từ năm 2018. Kể từ đó mình thấy nhận định từ một số bạn rằng website sẽ nhanh hơn vì không còn phải dùng những data center của Singapore hay Hồng Kông nữa. Tuy nhiên, rất tiếc khi mình nói rằng có thể bạn đã nhầm.
Đây là một bài viết về kĩ thuật là chính, đối với người dùng Cloudflare Warp, Warp+, DNS, bạn có thể tưởng tượng rằng kết nối của bạn sẽ phải đi vòng ra nước ngoài ví dụ như HongKong, Singapore rồi mới được gửi về đến bạn. Nên tốc độ sẽ không được tốt như kì vòng.
Cập nhật 09/2024
Qua rất nhiều lần cập nhật, từ 2020 đến nay thì rất tiếc Cloudflare vẫn chưa chính thức hoạt động tại Việt Nam. Tuấn đã có thử rất nhiều ở phía mạng FPT kể cả gói doanh nghiệp nhưng vẫn không có cách nào routing được đến Cloudflare Việt Nam.
Đa số người dùng Việt Nam chưa được hưởng lợi
Hơn ai hết, chính mình là người mong chờ nhất việc Cloudflare có một data center tại Việt Nam. Niềm mong đợi này càng tăng hơn nữa khi Cloudflare giới thiệu tận 2 data center tại hai đầu Bắc - Nam của đất nước, quá tuyệt vời. Nhưng mà sự háo hức của mình ngày càng giảm đi rõ rệt khi hơn 1 năm ra mắt, mình nhận ra đa số người dùng Việt Nam chưa được hưởng lợi từ hai DC này.
Tại sao mình lại nói như vậy? Trong ngày đầu tiên ra mắt, Tuấn đã phát hiện có vẻ như hai DC này vẫn chưa hoạt động thì Nitin, trưởng bộ phận cơ sở hạ tầng toàn cầu của Cloudflare trả lời rằng hiện tại chỉ có mạng của FPT mới được kết nối đến DC Cloudflare tại Việt Nam và sẽ mong sẽ phủ sóng sớm trong vài tuần và vài tháng sắp tới. Theo quan sát của mình đã 1 năm trôi qua và... tất nhiên là không có gì xảy ra cả.
Cách kiểm tra nếu Cloudflare được dùng ở Việt Nam
Một cách đơn giản nhất để kiểm tra là truy cập đường dẫn /cdn-cgi/trace, ví dụ https://cdnjs.com/cdn-cgi/trace 🔗. Trong các dòng text mà Cloudflare trở về, bạn chỉ cần quan tâm đến dòng
colo=SIN
Các kí tự cuối cùng chính là mã sân bay ở gần khu vực mà bạn đang kết nối tới, thường là Singapore (SIN), HKG (Hồng Kông) và những thứ mà bạn mong đợi: Sài Gòn (SGN), Hà Nội (HAN). Ngoài ra cách mà mình hay sử dụng là mở Developer tools của Google Chrome lên, tìm document request như hình bên dưới và kiểm tra header cf-ray được trả về.
Với người dùng thông thường dùng mạng VNPT và Viettel thì họ vẫn phải đang kết nối với các website sử dụng Cloudflare qua các DC ở Singapore và Hồng Kông. Thị phần internet của FPT tại Việt Nam theo mình nhận định là giảm khá sâu, chỉ khoảng trên dưới 10% theo các báo cáo không chính thức 1 🔗 2 🔗. Từ đó suy ra hơn 90% người dùng internet tại Việt Nam đều không được hưởng lợi ích kể từ khi Cloudflare ra mắt hai máy chủ tại Việt Nam. Quan trọng hơn nữa, tất cả các thuê bao internet di động đang sử dụng 3G, 4G hay 5G sắp tới cũng cũng nằm trong nhóm không được hưởng lợi này.
Để biết bạn/người dùng thông thường đang được kết nối với DC nào của Cloudflare, cách đơn giản nhất là truy cập website https://1.1.1.1/help 🔗 và tìm dòng Cloudflare Data Center, bạn sẽ biết ngay mình đang truy cập vào DC nào. Nếu bạn dùng mạng VNPT hay Viettel thì bạn sẽ gặp 2 kết quả khả dĩ nhất là HKG (Hồng Kông) hoặc SIN (Singapore).
Điều này cũng đồng nghĩa với việc các dịch vụ rất phổ biến của Cloudflare tại Việt Nam như DNS 1.1.1.1 hay Cloudflare Warp+ cũng sẽ có một chút độ trễ khi sử dụng, như vậy thì rất tiếc.
Đối với những bạn quản lý hệ thống, quản lý website, vấn đề này sẽ có một chút tiêu cực hơn. Đây là vấn đề quan trọng và không dễ để thay đổi hay tối ưu đường truyền kể cả khi bạn trả phí cho Cloudflare đi nữa. Theo mình được biết thì Cloudflare hoạt động như mô hình gần giống như hình bên dưới.
Fetch server sẽ lấy dữ liệu về khi có yêu cầu từ Cache server nếu dữ liệu bạn chưa được cache trên Cloudflare. Sau khi đã lưu trữ xong, lần tới khi có người dùng yêu cầu, Cloudflare chỉ cần lấy nội dung cache và trả về thay vì gọi tới server bạn một lần nữa, giảm tải cho server.
Có nghĩa là, webserver trả về kết quả cho người dùng có thể khác với server mà Cloudflare dùng để fetch dữ liệu trước khi gửi. Từ đó lóe lên hi vọng nhỏ nhoi có còn hơn không, rằng có thể Cloudflare sử dụng hai DC ở Việt Nam để fetch dữ liệu từ các server/hosting trong nước nhanh hơn.
Để lấy được địa chỉ IP của Cloudflare fetch server, bạn có thể tìm trong access log của Apache, Nginx nếu bạn chưa bật Real IP header. Mình có sử dụng PfSense nên có thể bắt được địa chỉ IP này khá dễ như hình bên dưới.
Ok địa chỉ này nằm trong danh sách địa chỉ IP của Cloudflare 🔗. Thực hiện traceroute vào địa chỉ IP 162.158.179.54 trả về mình kết quả như bên dưới:
atuan@Macbook ~ % traceroute 162.158.179.54
traceroute to 162.158.179.54 (162.158.179.54), 64 hops max, 52 byte packets
1 10.0.20.1 (10.0.20.1) 1.735 ms 1.043 ms 1.026 ms
2 static.vnpt.vn (123.29.12.105) 2.221 ms 2.835 ms 2.101 ms
3 static.vnpt.vn (113.171.45.6) 2.636 ms
static.vnpt.vn (113.171.46.25) 2.642 ms 3.199 ms
4 static.vnpt.vn (113.171.17.73) 40.980 ms 32.098 ms
static.vnpt.vn (113.171.45.69) 31.670 ms
5 static.vnpt.vn (113.171.44.25) 32.161 ms
static.vnpt.vn (113.171.14.254) 32.362 ms
static.vnpt.vn (113.171.44.25) 32.948 ms
6 static.vnpt.vn (113.171.50.218) 5.054 ms
static.vnpt.vn (113.171.50.226) 6.060 ms
static.vnpt.vn (113.171.50.10) 33.629 ms
7 static.vnpt.vn (113.171.37.237) 34.362 ms
static.vnpt.vn (113.171.37.231) 33.433 ms 33.360 ms
8 103.22.203.242 (103.22.203.242) 34.230 ms 32.140 ms 32.974 ms
9 162.158.179.54 (162.158.179.54) 30.673 ms 32.788 ms 30.298 ms
Cho kết quả địa chỉ IP này nằm ở Hồng Kông. Mình có thử một số địa chỉ IP khác trong log của PfSense vẫn cho kết quả như trên. Đây là kết quả test của mình với gói Cloudflare Free, có bật Argo nhưng cũng không có tiến triển gì. Tiếc là mình chưa thể lên được gói Cloudflare trả phí để kiểm tra cho mọi người. Ngoài ra, mình có xem trên một số website dùng gói Enterprise cũng không thấy được sử dụng server tại Việt Nam.
Nói một cách phũ phàng hơn nữa, request của bạn phải đi một vòng từ Việt Nam đến Singapore/Hong Kong, sau đó mới được gửi về cho người dùng tại Việt Nam.
Trả phí sẽ được dùng DC Việt Nam?
Mình e rằng là không. Sau khi tham khảo các bài viết trên trang hỗ trợ của Cloudflare, việc ưu tiên các DC ở gần cho các tài khoản trả phí là có. Tuy nhiên ưu tiên này khá dễ hiểu và có thể được giải thích như sau: nếu DC ở gần khách truy cập nhất nhưng đang quá tải thì sẽ chỉ ưu tiên những website trả phí. Đơn giản như vậy thôi và nếu DC đang hoạt động bình thường thì ai cũng có thể dùng được, kể cả là miễn phí.
Vậy có khi nào hai DC ở Việt Nam bị quá tải không? Mình cũng cho rằng là không khi tìm ra được một bài kiểm tra như sau. Website https://cloudflare-test.judge.sh 🔗 sẽ cho chúng ta biết các DC mà bạn đang kết nối tới với những website đang sử dụng các gói miễn phí hay trả phí khác nhau. Bạn có thể tự kiểm tra và kết quả cũng không khác gì so với mình đã thử ở trên. Kể cả ở gói Enterprise, chúng ta cũng không thể kết nối đến DC ở Việt Nam.
Thêm một lí do giúp mình có thể củng cố hơn nữa nguyên nhân của vấn đề này khi mà cùng một thời điểm, người dùng mạng FPT có thể kết nối đến DC ở Việt Nam, còn người dùng VNPT và Viettel thì không, chứng tỏ vấn đề không nằm ở hai DC Việt Nam này.
"Phụ thuộc nhà mạng"
Đó là lí do mà Cloudflare đưa ra nếu người dùng không được kết nối đến DC gần nhất. Cloudflare là một mạng Anycast 🔗 nên việc đường truyền được route như thế nào là phụ thuộc vào nhà mạng. Nếu nhà mạng route gói tin đến server xa hơn đồng nghĩa với việc routing "không hiệu quả" làm tốn băng thông hay nói thẳng hơn là tiền bạc của các nhà mạng.
Mình không rõ tại sao chúng ta không được routing về các DC tại Việt Nam vì như vậy đồng nghĩa tiết kiệm tiền cho mạng khi giá băng thông quốc tế là rất cao. Mình sẽ tìm hiểu thêm và cập nhật vào bài viết nếu có.
Tóm lại
Theo mình sử dụng Cloudflare cho các mục đích tăng tốc cho người dùng hoặc server ở Việt Nam là hoàn toàn vô nghĩa. Sử dụng Cloudflare, đặc biệt trong lúc đứt cáp quang chỉ làm cho tình hình ngày càng tồi tệ thêm. Tuy nhiên có những trường hợp vẫn nên sử dụng Cloudflare:
- Server tại Mỹ và khách hàng truy cập ở Việt Nam. Sử dụng Cloudflare sẽ cho tốc độ tốt hơn do người dùng sẽ được kết nối vào Singapore/Hồng Kông gần Việt Nam hơn.
- Cần bảo mật website hoặc bị tấn công DDoS. Cloudflare hỗ trợ những tính năng như Cloudflare Access, lọc truy cập theo quốc gia hoặc IP,...
- Bạn đặt máy chủ ở Việt Nam/Singapore/hoặc bất kì đâu nhưng khách hàng truy cập ở khắp thế giới. Lúc này Cloudflare lại thể hiện ưu điểm khi đảm bảo tất cả người dùng đều có tốc độ truy cập nhanh như nhau.
Anh em nào may mắn đang được sử dụng Cloudflare tại Việt Nam thì chia sẻ trải nghiệm của các bạn nhé. Vậy còn cách nào khác để tăng tốc website trong mùa đứt cáp này? Hẹn các bạn cho bài viết sau nhé.