Tách nội dung tĩnh / tải lên khỏi trang web


7

Tôi có một trang web mà tôi dự đoán sẽ có một lượng lớn người dùng. Tôi đã nghe nói rằng nên tách nội dung người dùng (hình ảnh được tải lên) và đặt chúng trên một máy chủ tĩnh riêng biệt nơi lighttpd sẽ phục vụ nội dung. Điều này được cho là để tăng tốc đáng kể các yêu cầu.

Câu hỏi của tôi là:

  • Tôi có thể mong đợi cải thiện bao nhiêu để làm điều này?
  • Làm thế nào được thực hiện? Người dùng trên trang web của tôi tải lên các tệp nhưng sau đó làm cách nào để tự động hóa quá trình chuyển? Thực hành tốt nhất là gì? Đồng bộ hóa?
  • Còn lời khuyên nào nữa không? ý tưởng? Tôi thực sự đánh giá cao đầu vào của bạn.

Câu trả lời:


2

Lo lắng về Rupync sau - bây giờ bạn có thể làm tất cả trên một hộp.

Tên miền chính của bạn là http://www.example.com/trên miền này, bạn phục vụ cookie (yum!).

Các chuyển hướng không www đến ở trên.

Tên miền tĩnh của bạn là http://static.example.com/và trên miền này, bạn không phục vụ cookie hoặc bất kỳ mục tiêu đề nào khác không thực sự cần thiết. Đặt js + css vào đó được nén và hình ảnh được phục vụ không nén. Đặt bất cứ thứ gì được cung cấp trên tĩnh thành có thể có bộ nhớ cache công khai và có thời hạn sử dụng một thời gian trong tương lai.

Bây giờ hãy thiết lập tên miền của bạn để trỏ đến cùng một vị trí trên hệ thống tệp, tức là nếu bạn thực sự muốn tải test.jpg, bạn có thể nhận được chính xác cùng một tệp từ một trong hai vị trí. Thực hiện việc này với cài đặt httpd.conf và hai mục nhập máy chủ ảo.

Khi lưu lượng truy cập của bạn đạt mức lớn, bạn có thể di chuyển máy chủ nội dung tĩnh của mình sang một hộp khác và đồng bộ hóa toàn bộ tài liệu gốc sang hộp mới. Một công việc định kỳ có thể được thiết lập để thực hiện việc này cứ sau 5 phút hoặc lâu hơn và 404 của tĩnh có thể chuyển hướng đến www để nhận bất kỳ tài nguyên nào chưa được cung cấp.


Lời khuyên hữu ích! Có 404 để viết lại cho máy chủ gốc là một ý tưởng thiên tài! Cảm ơn bạn rất nhiều vì lời khuyên!
dùng7562

Tôi có một vài câu hỏi, chính xác ý bạn là gì khi nén js / css? đó là cài đặt máy chủ web hay tôi tự nén nó? Tại sao không nén hình ảnh?
dùng7562

Hình ảnh đã được nén - jpeg, v.v. Bạn không thể nén chúng nhiều hơn những gì đã có khi phục vụ chúng khi đang di chuyển. Vì lý do này, không cần phải nén chúng gấp đôi. Các biểu định kiểu js javascript và css của bạn về cơ bản là các tệp văn bản có nhiều khoảng trắng trong đó. Các tài nguyên này nén rất tốt với 'gzip' (thuật toán nén thường được sử dụng bởi Apache).
ʍǝɥʇɐɯ

1

Sự khác biệt về tốc độ phụ thuộc vào rất nhiều biến số. Hãy suy nghĩ về nó theo cách này, mỗi khi người dùng yêu cầu một trang / hình ảnh, bộ xử lý của máy chủ phải xử lý yêu cầu đó ném vật phẩm được yêu cầu vào ram và sau đó phục vụ nó.

Bằng cách tách nội dung tĩnh, bạn xóa video hình ảnh lớn và các nội dung khác khỏi hàng đợi yêu cầu trang đến bộ xử lý để nó có thể xử lý các trang nhanh nhất có thể mà không cần nhấn mạnh về hình ảnh / video / nội dung lớn.

Những gì nó phụ thuộc vào là tốc độ xử lý, ram, băng thông của bạn.

Cách bạn thực hiện là bạn chỉ định máy chủ tĩnh của mình cho một tên miền phụ, điều này cho phép tạo kịch bản tên miền không chéo. Nếu đó chỉ là hình ảnh bạn có thể liên kết với chỉ phần bổ sung web hoặc bạn có thể đọc thêm về kịch bản máy chủ chéo, apache được thiết kế để thực hiện điều đó nên khá dễ dàng.

Có một câu hỏi SO khá giống nhau ở đây https://stackoverflow.com/q/913208/500959

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.