Làm thế nào để tối đa hóa hiệu suất EC2 dụ


11

Tuyên bố miễn trừ trách nhiệm: Tôi là nhà phát triển giao diện người dùng trong một loại máy chủ thế giới.

Chào các cậu. Tôi có một phiên bản máy chủ trên EC2 c5d.9xlarge, có thông số kỹ thuật là:

  • Hệ thống: Ubuntu 18.04
  • vCPU: 36 luồng / lõi
  • Bộ nhớ: 72 GB
  • Lưu trữ: SSD 900 GB NVMe
  • Băng thông EBS chuyên dụng: 7.000 Mbps
  • Hiệu suất mạng: 10 Gbps

Kịch bản: Tôi sử dụng máy chủ này để tải lên các video lớn (4K, 1+ giờ) và xử lý chúng bằng FFMPEG nhưng so với máy chủ UpCloud trước đây của tôi với 12 lõi và 48 GB RAM, máy chủ EC2 này mất hơn 1,5 lần để tải lên và xử lý , mà tôi nghĩ không nên như vậy.

Câu hỏi: Làm cách nào để tối đa hóa hiệu suất cho những gì tôi đang trả tiền?


Bạn nên xem chi phí của Bộ chuyển đổi đàn hồi AWS để xem nó có hoạt động tốt hơn cho bạn không.
Tim

Cảm ơn @Tim. Tôi đã thấy nó cách đây một thời gian nhưng tôi thực sự có thêm một vài cuộc gọi trên máy chủ này vì vậy tôi nghĩ rằng tôi đã kết hợp chúng.
Martavis P.

Câu trả lời:


19

Bạn c5d.9xlargeđi kèm với bộ lưu trữ cá thể 900GB (còn gọi là lưu trữ phù du ) - bạn có đang sử dụng bộ nhớ đó để lưu trữ và xử lý các tệp không? Mặc dù phiên bản của bạn có một số băng thông EBS chuyên dụng, bộ lưu trữ SSD trong trường hợp vẫn sẽ nhanh hơn nhiều . Tôi khuyên bạn nên sử dụng nó cho tất cả các tệp nguồn và tạm thời và chỉ lưu trữ kết quả vào EBS.

Có một số cảnh báo với lưu trữ ví dụ:

  1. Bạn phải định dạng và gắn kết nó trước khi nó có thể được sử dụng. Tham khảo câu trả lời này để biết thêm chi tiết: Tự động gắn bộ nhớ lưu trữ SSD trên AWS EC2 trong Ubuntu 16.04

  2. Nội dung bị xóa khi bạn dừng và khởi động lại thể hiện. Nó sống sót khởi động lại nhưng không dừng lại / bắt đầu.


Cập nhật: Theo mặc định, SSD không được gắn - bạn sẽ phải làm theo các bước trong câu trả lời được liên kết ở trên để sử dụng nó. Trong cấu hình tiêu chuẩn sau khi khởi động, bạn sẽ sử dụng EBS chậm hơn SSD.

Sau đó, bạn sẽ phải đảm bảo rằng bạn thực sự đang sử dụng nó - đặt thư mục tải lên , làm việctạm thời vào điểm gắn kết SSD đó.

Hoặc thậm chí tốt hơn - vì bạn đã có 72 GB RAM - tạo đĩa RAM và sử dụng nó cho các tệp tạm thời. Điều đó sẽ còn nhanh hơn SSD (nếu các tệp phù hợp).

Trước hết, bỏ qua tốc độ tải lên và tối ưu hóa quá trình xử lý - tải tệp lên EBS và thời gian xử lý, sau đó tải lên SSD và thời gian rồi đến đĩa RAM và thời gian xử lý. Xem chúng khác nhau bao nhiêu.

Tốc độ tải lên sẽ bị ảnh hưởng bởi nhiều khía cạnh, bao gồm khoảng cách và độ trễ giữa bạn và khu vực AWS mà bạn đang tải lên. Bạn đang sử dụng một khu vực AWS gần bạn?

Re hiệu suất CPU - bạn đã có 36 CPU có sẵn, tuy nhiên mỗi lõi đơn có thể chậm hơn so với các lõi trong máy 12-core trước đây của bạn. Nó phụ thuộc vào kiến ​​trúc CPU và tốc độ xung nhịp. Tuy nhiên, nếu bạn có thể song song xử lý video thành 36 luồng, bạn nên sử dụng tốt hơn trong trường hợp này. Nếu bạn dựa vào một chủ đề duy nhất, bạn có thể không có được hiệu suất bạn muốn.

Mong rằng sẽ giúp :)


Có, ổ cứng được sử dụng để lưu trữ trong khi các tệp đang xử lý và các tệp đang tạm thời cho đến khi quá trình kết thúc. Các tệp kết quả được gửi đến S3. Tôi thực sự không biết nếu SSD được gắn kết. Tôi bắt đầu nhận ra rằng AWS không sử dụng thông số kỹ thuật làm cài đặt mặc định. Việc gắn SSD có giúp tải lên nhanh hơn không? Theo dõi: có ý tưởng nào để tôi có thể tối đa hóa thông số CPU được phép không?
Martavis P.

@MartavisP. thêm một số cập nhật cho câu trả lời.
MLu

Wow, cảm ơn bạn rất nhiều vì thông tin! Tôi sẽ nghiên cứu và áp dụng những gì bạn đã viết.
Martavis P.

1
Câu trả lời chính xác. Bạn cần phải đo điểm chuẩn để tìm ra nút cổ chai, chia nhỏ thời gian tải lên, thời gian xử lý, sử dụng CPU, sử dụng EBS / mạng, v.v. Có thể đơn giản là bạn có độ trễ hơn cho máy chủ này để quá trình tải lên chậm hơn, mà bạn có thể làm việc xung quanh bằng cách tải dữ liệu theo các luồng song song lên EC2 / S3. Netflix có video này trên youtube có thể rất thú vị, nhưng hãy thực hiện các bước chẩn đoán trước khi bạn bận tâm với loại chi tiết đó.
Tim

1

Có bất kỳ phạm vi để xem xét thay thế? Đối với chi phí của một c5d.9xlarge, ngay cả khi bạn đang được giảm giá đáng kể, trong thị trường máy chủ chuyên dụng, bạn có thể có một số máy tương đương hoặc tốt hơn

Sử dụng đám mây cho loại vấn đề có tỷ lệ dọc này là một công thức để trả quá nhiều và, như bạn đã thấy, hiệu suất kém

Xin lỗi vì loại không trả lời, nhưng tôi không có đủ đại diện để bình luận


Đây là một giảm giá cho tôi, chuyển từ UpCloud. Vậy bạn muôn đê xuât việc gi?
Martavis P.

1
Có vẻ như cùng một tính toán trong đám mây luôn có giá gấp khoảng 4 lần một máy chủ được thuê hàng tháng tại một số trang web ngẫu nhiên. Sau đó, có giảm giá doanh nghiệp (~ 30%) và bạn có thể đặt trong 3 năm (rẻ hơn gấp 2 lần nhưng bây giờ tệ hơn nhiều so với webster ngẫu nhiên đó). Và máy chủ được thuê hàng tháng đó thường có vẻ bằng 1/12 giá mua hoàn toàn phần cứng. Đó là những gì tôi thấy ít nhất. Vì vậy, trong đám mây bạn mua phần cứng cứ sau 3 tháng nhưng bạn không sở hữu nó.
usr

Vâng đó là một điểm tốt, nhưng bạn phải nhớ rằng bạn đang trả tiền cho việc bảo trì và thuận tiện, giống như bất cứ điều gì trong cuộc sống. Tôi muốn để AWS trở thành thợ cơ khí của tôi hơn là dành nhiều ngày cố gắng tìm ra cách khắc phục sự cố ngừng hoạt động của máy chủ. Đó là kiến ​​thức tốt để có nhưng cuối cùng sự nghiệp của tôi là về mã để đám mây hoạt động với tôi.
Martavis P.
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.