Tối ưu chi phí băng thông và lưu trữ cho site phim và site ảnh

NFS

Sau đây đây là trích đoạn nội dung chính trong một cuộc thảo luận tại diễn đàn MMO. Mình thấy nội dung hay và có thể ứng dụng trong công việc sau này nên đăng lại tại đây.

Tóm tắt nội dung chính

Mình hỏi: Em lưu trữ phim ở đâu?
Trả lời: VPS hoặc máy chủ, không lưu các dịch vụ trung gian anh ạ (không hỏi lí do phần này, mình tự hiểu cu cậu sợ report hoặc bị xóa).

Dung lương lưu trữ ước tính hiện tại?
Trả lời : 1TB. (cũng bình thường)

Visit trung bình 1 ngày bao nhiêu?
Trả lời 10K visit hiện tại. (có vẻ hơi ít)

Tiền đâu tư có thể?
Trả lời: ít nhất có thể 100$ đến 200$ (bao gồm tất cả lưu trữ, VPS, băng thông anh nhé, mình không hỏi doanh thu của cu cậu, do nó chỉ hỏi vấn đề kỹ thuật).

Suy nghĩ

Sau khi tính toán thì mình ước tính như sau:

  • Lưu trữ 1TB phim nên lưu trữ tại block storage, sau này mở rộng nâng cấp hoặc cắm thêm.
  • Băng thông trung bình cho 1 visit/ 1 ngày tạm tính 1GB(có thể cao hơn). 10K visit x 1GB = 10TB

Vậy một tháng nó đốt khoảng 10TB x 30 = 300TB. (Cũng không cao lắm, nhưng cũng không nhỏ đâu).

Lựa chọn nhà cung cấp VPS

https://www.hetzner.com/cloud

Mình quyết định chọn thằng này, tại sao lại như vậy? Lưu ý: thằng này để bảng giá tiền euro anh em à.
Trả lời: Mỗi VPS nó cho tối đa băng thông 20TB, không giới hạn INCOMING TRAFFIC, không tính băng thông Private Network.

  • Vậy mình cần 15 VPS trở lên. Lấy con số 16 VPS đi. 20TB X 16 = 320TB là thừa rồi. (vượt quá thì tạo thêm VPS).
  • Lưu trữ BLOCK STORAGE VOLUMES cho 1TB ở đây là € 40,96, xấp xỉ 47,9$
  • VPS chính: VPS lưu trữ code và database (Mysql) chọn VPS gói tạm 15,9 euro đi (4vCPU – 16GB ram), có gì theo dõi chỉ số CPU, Ram VPS rồi nâng cấp sau, xấp xỉ 18,6$
  • 15 VPS: 2.49 euro (1vCpu – 1GB ram, băng thông 20TB), thành tiền 2.49 x 15 = 37,35 euro, xấp xỉ 43,5$.

Tổng tiền: 47,9$ + 18,6$ + 43,5$ = 110$. (đạt giới hạn tiền đầu tư cho phép)

Cài đặt và cấu hình

Đặt tất cả VPS vào 1 network chung. với ip như từ 10.0.0.2 đến 10.0.0.17

1.Tại VPS chính(chứa source) 10.0.0.2

  • Cài đặt các dịch vụ web nginx, php, mysql.
  • Gắn ổ cứng 1TB vào, mount thành 1 folder để sau này upload phim vào đây(cài đặt sub domain là server.domain.com cho folder này).
  • Cấu hình Nginx split_clients: chuyển tiếp cho 15 VPS
  • Cài đặt NFS Server để chia sẻ folder upload phim cho 15 VPS còn lại.
  • Cài đặt vnStat để kiểm tra băng thông vps

2. Tại 15 VPS còn lại

  • Cài đặt nginx và php. (không cài Mysql làm gì cả)
  • Cài đặt NFS Client để mount folder upload phim. Cài đặt mỗi VPS là 1 sub domain từ s1.server.domain.com đến s16.server.domain.com)
  • Cài đặt vnStat để kiểm tra băng thông cho mỗi vps

3. Kết quả

  • Mỗi post khi đưa link phim vào (bạn có thể mã hóa hoặc không), link phim có dạng server.domain.com/link-abc.xxx (xxx: là đuôi định dạng phim)
  • Nginx split_clients: server.domain.com sẽ tự động chuyển tiếp đến 15 VPS (s1.server.domain.com đến s16.server.domain.com) còn lại để chia đều traffic.
  • Sau 1 tháng test thử nghiệm cu cậu báo OK. Mình thở phào ổn nhỉ.
  • Băng thông tạm thời chưa vượt quá.

Cu cậu hỏi thêm, nếu sau này vượt quá băng thông em phải làm gì?
Trả lời: SNAPSHOTS lại 1 trong 15 VPS 2.49 euro, rồi cấu hình thêm vào là dc.

Em muốn mở rộng lưu trữ.
Trả lời: mua thêm BLOCK STORAGE VOLUMES rồi muount vào.

Note

Xin được note thêm phần mở port NFS. Anh em chỉ cho các IP mạng trong network của mình thôi nhé.

Ví dụ:
-A INPUT -s 10.0.0.15/32 -p udp -m state –state NEW -m udp –dport 10053 -j ACCEPT

Nguồn: cafemmo.club

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.