Tăng Tốc Website - Sử Dụng Cdn
"Khoảng cách từ người dùng website đến máy chủ web của bạn tất nhiên có ảnh hưởng đến thời gian phản hồi dữ liệu. Triển khai nội dung của bạn trên nhiều vùng địa lý phân tán các máy chủ sẽ làm cho trang web của bạn tải nhanh hơn từ quan điểm của người dùng. Nhưng nên bắt đầu từ đâu?"
Đây là bài dịch từ website dành cho các developers của Yahoo! và được biên soạn lại cho dễ hiểu từ một trong những bài liên quan đến thủ thuật tăng tốc website.
Bài viết này không phải để hướng dẫn bạn cách thiết kế lại hệ thống mạng máy chủ, làm lại website và hệ thống cơ sở dữ liệu (database) để tương thích với việc phân tán dữ liệu cho việc cung cấp đến với người dùng. Tùy vào từng ứng dụng và yêu cầu của bạn, việc thay đổi hệ thống như vậy là một việc làm rất khó khăn vì bạn phải thực hiện các công việc như đồng bộ hóa các session của người dùng và các phiên giao dịch trên website liên quan đến database trên khắp các server phân tán khắp nơi của bạn. Việc làm này sẽ mất rất nhiều thời gian và có thể ngăn cản hoặc bạn không bao giờ thực hiện được. Dẫn đến việc bạn không thể thu hẹp được khoảng cách giữa người dùng đến máy chủ.
Bạn nên nhớ rằng 80%-90% thời gian trình duyệt hiển thị ra một trang web mà bạn đang xem là để tải các thành phần trong trang như: hình ảnh (images) các dữ liệu để định dạng tài liệu HTML (stylesheet - CSS), các đoạn script, flash,... Đây chính là những điểm chính quan trọng mà bạn cần quan tâm để tăng tốc website của mình hơn là việc bạn dành thời gian cho công việc khó khăn hơn rất nhiều là thiết kế lại hệ thống, hãy tập trung vào các nội dung tĩnh. Phương pháp này không chỉ giúp cho thời gian phản hồi nhanh hơn mà còn dễ dàng hơn nhờ sự hỗ trợ của các CDN (Content Delivery Network) - Tôi tạm gọi là Hệ thống mạng lưới phân phối nội dung.
CDN là hệ thống các máy chủ web (web server) phân tán khắp nơi để cung cấp nội dung cho người dùng ở các nơi. Hệ thống này sẽ tự động chọn ra server tương thích với người dùng nhất để phân phối nội dung đến cho họ. Nói một cách dễ hiểu hơn là hệ thống này sẽ chọn ra server mà yêu cầu được gửi từ người dùng phải qua ít các hop hơn (tôi tạm gọi là những mắc xích truyền tải nội dung trên hệ thống mạng) hoặc những server có tốc độ phản hồi nhanh hơn đối với người dùng đó.
Nhiều công ty lớn sử dụng hệ thống CDN riêng của họ, nhưng để thực hiện hệ thống này rất tốn kém chi phí từ những dịch vụ cung cấp và thiết kế hệ thống CDN điển hình như: Akamai Technologies, Mirror Image Internet, hoặc Limelight Networks. Đối với những website cá nhân hoặc những website của các công ty nhỏ, việc sử dụng CDN là điều hầu như không thể. Tuy nhiên nếu bạn đã có chiến lược muốn cung cấp thông tin từ website hướng tới người dùng rộng khắp trên toàn thế giới thì việc sử dụng CDN là điều rất cần thiết. Điển hình như Yahoo, với việc chuyển nội dung tĩnh từ web server chính chạy web sang các CDN đã giúp cho website của họ có tốc độ nhanh hơn 20%. Sử dụng hệ thống CDN là một trong những cách dễ dàng nhất để giảm thời gian phản hồi một trang web đối với người dùng khắp mọi nơi.
Anh Nguyễn (BabyWolf's Blog)