Khi nào và khi nào không sử dụng CDN


13

Tôi đang làm việc trên một ứng dụng web tải một vài hình ảnh gif nhỏ lên màn hình. Tôi đang sử dụng một đường dẫn tương đối, có nghĩa là chúng được tải từ cùng một máy chủ web phục vụ trang php. Hoạt động là tức thời và tôi ở một lục địa khác với máy chủ web.

Tôi vừa thử nghiệm mạng CDN cho điều này (Cloudfront), nghĩ rằng việc di chuyển các tệp tĩnh đến gần người dùng hơn là một ý tưởng tuyệt vời. Tuy nhiên, tất cả các tệp này hiện mất khoảng nửa giây để hiển thị trên màn hình. Bây giờ tôi phải sử dụng một đường dẫn tuyệt đối, tất nhiên (https://xyzvf.cloufront.net/images/)

Tại sao vậy? Là con đường tuyệt đối là một vấn đề? Tôi đang giảm các yêu cầu HTTP đến máy chủ của riêng tôi, đây là một điều tốt, nhưng sự chậm trễ đó gây khó chịu. CDN không phù hợp cho việc này?


4
Nó phụ thuộc khá nhiều vào vị trí của CDN. Nếu bạn có nhiều hình ảnh nhỏ, việc kết hợp chúng thành một tùy chọn? Điều đó có nghĩa là chỉ một yêu cầu duy nhất để tải tất cả các hình ảnh.

Họ có những địa điểm này: michaelgaigg.com/blog/images/amazon-cloudfront.jpg Tôi đang ở Châu Âu và tải hình ảnh từ máy chủ web của tôi ở Hoa Kỳ nhanh hơn tải từ Đức hoặc bất kỳ địa điểm nào ở châu Âu mà amazon phục vụ cho tôi. Hoặc có thể không phải thời gian tải là vấn đề mà là cái gì khác? Sử dụng một sprite là một ý tưởng tuyệt vời cảm ơn.

Bạn cũng có thể sử dụng URL không có giao thức với tên máy chủ, như "//xyzf.cloudfront.net/images". Điều này cho phép bạn tận dụng lợi thế của ISP và bộ đệm proxy công ty để lưu trữ các phiên bản không có SSL của hình ảnh. Điều này có thể có một lợi ích to lớn cho cả trải nghiệm khách truy cập của bạn và tải máy chủ / băng thông. Khách truy cập trang web của chúng tôi hầu hết đều đến từ các tổ chức tài chính có trụ sở tại Hoa Kỳ và chúng tôi phát hiện khoảng 85% lượt truy cập từ đằng sau một số hình thức proxy lưu trữ. YMMV, vì vậy tất nhiên hãy kiểm tra trang web và lưu lượng truy cập của riêng bạn.
rmalayter

Câu trả lời:


6

Một vấn đề có thể là DNS hoặc keep-alive- đó là, trình duyệt đã có địa chỉ IP cho máy chủ của bạn và có kết nối mở với nó, trong khi nó phải giải quyết tên máy chủ của CDN và sau đó mở một kết nối mới ở đó, và một trong những kết nối đó hoặc cả hai tạo thành sự chậm trễ bạn nhìn thấy.

Sprites, mặc dù vẫn là một ý tưởng tốt, sẽ không giúp đỡ những vấn đề đó. Thật vậy, không có giải pháp nào đến với tâm trí. Điều an ủi duy nhất là độ trễ nửa giây sẽ không lâu hơn nữa nếu bạn có hàng nghìn hình ảnh (và các tệp CSS và tệp JS và bất kỳ tệp tĩnh nào khác bạn cần) và sẽ không gây thêm căng thẳng cho máy chủ gốc của bạn nếu Thêm hàng ngàn người dùng nhấn nó.


Cái này rung chuông. Tôi nên đề cập rằng cuộc gọi đầu tiên đến máy chủ CDN được thực hiện khi cần hình ảnh đầu tiên, như ở giữa trang.

À, sau đó bạn có thể có hiệu suất (nhận thức) tốt hơn nếu bạn tạo một tài liệu tham khảo, bất kỳ tài liệu tham khảo nào, cho CDN từ rất sớm trong trang. Cách tốt nhất có thể là đặt các tệp CSS của bạn vào CDN và đặt các linkthẻ vào headphần này, vì vậy quá trình kết nối sẽ bắt đầu ngay lập tức.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.