Cái nào nhanh hơn để truy cập đọc trên EC2; ổ đĩa cục bộ hoặc EBS?


11

Cái nào nhanh hơn để truy cập đọc trên một ví dụ EC2; ổ đĩa "cục bộ" hoặc ổ đĩa EBS đính kèm?

Tôi có một số dữ liệu cần được duy trì vì vậy đã đặt dữ liệu này lên một khối EBS. Tôi đang sử dụng OpenSolaris, vì vậy tập này đã được đính kèm dưới dạng nhóm ZFS. Tuy nhiên, tôi có một lượng lớn không gian đĩa EC2 sẽ không được sử dụng, vì vậy tôi đang xem xét việc sử dụng lại như một ổ đĩa đệm ZFS nhưng tôi không muốn làm điều này nếu việc truy cập đĩa sẽ chậm hơn khối lượng EBS vì nó có khả năng có tác động bất lợi.

Câu trả lời:


13

Chỉ cần thêm một chút vào sự đồng thuận là EBS nhanh hơn ...

Một điểm quan trọng cần hiểu ở đây là tốc độ lưu trữ cá thể là không thể đoán trước - Amazon không đảm bảo về điều đó.

Thông tin này xuất phát từ cuốn sách Kiến trúc ứng dụng đám mây của George Reese (có vẻ khá tốt so với những gì tôi đã đọc lướt qua cho đến nay.) Nó bao gồm một bảng có tiêu đề So sánh các tùy chọn lưu trữ dữ liệu EC2 (trang 41); đây là một đoạn của bảng đó (trong cuốn sách có một số đặc điểm khác được so sánh):

               S3              Instance          EBS

Speed          Low             Unpredictable     High
Reliability    Medium          High              High
Durability     Super high      Super low         High

Vì vậy, đôi khi lưu trữ cá thể có thể tốt hơn EBS trong truy cập đọc, nhưng nếu bạn muốn tốc độ cao không đổi , bạn thực sự cần phải đi với EBS. Như Reese đặt nó trong cuốn sách của mình:

Một vấn đề khác là không thể đoán trước hiệu năng trong bộ lưu trữ thể hiện. Bạn thực sự có thể nghĩ rằng nó nên nhanh hơn các tùy chọn khác, và đôi khi nó là. Tuy nhiên, đôi khi, nó chậm đến mức không thể tin được - chậm hơn so với việc gắn NFS qua kết nối Ethernet 10bT. EBS, mặt khác, luôn cung cấp cho bạn hiệu suất của SAN qua kết nối Ethernet GB.


4
Tôi đã có trải nghiệm hoàn toàn ngược lại. Hiệu suất của EBS là không thể đoán trước. Tất cả các thời gian ngừng hoạt động chính của EC2 đều liên quan đến EBS. Lưu trữ sơ thẩm luôn có hiệu suất dự đoán.
Joe Van Dyk

3
Vì nó phản trực giác rằng đĩa cục bộ sẽ chậm hơn (đặc biệt là nếu bạn sử dụng SSD), thật tuyệt khi có nhiều thông tin hơn "ai đó nói rằng nó nhanh hơn"
L. Blanc

8

Chúng tôi đã kiếm được khoảng 1000 đô la phí AWS trong một cuộc thăm dò có hệ thống về vấn đề này và các câu hỏi liên quan, và đăng một phân tích sâu rộng .

Đối với các lần đọc ngẫu nhiên (nhỏ), chúng tôi thấy lưu trữ "cục bộ" (ví dụ EC2) và EBS có hiệu suất tương tự, nhưng lưu trữ cục bộ có đuôi độ trễ tốt hơn.

Đối với các lần đọc tuần tự (số lượng lớn), EBS nhanh hơn trên m1.small, nhưng cục bộ nhanh hơn trên m1.lund. Chúng tôi không trực tiếp so sánh cục bộ với EBS trên các loại thể hiện khác, nhưng chúng tôi đã thấy rằng việc tăng kích thước cá thể có ảnh hưởng nhiều hơn đến hiệu suất của cửa hàng địa phương so với hiệu suất của EBS.

Có một câu hỏi chi phí. Bằng cách chuyển I / O từ EBS sang đĩa cục bộ, bạn sẽ giảm phí AWS.


2

Nếu bạn theo dõi hiệu suất cơ sở dữ liệu trong Amazon, bạn có thể thấy bài viết này hữu ích: http://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-ston-volume-io-bencmark/

Sự rung cảm chung từ nghiên cứu của riêng tôi (đã đọc về điều này trong vài tuần) là EBS là lựa chọn nhanh hơn.


Tôi đã nghe báo cáo rằng bạn nên viết qua ổ đĩa một lần, vì ghi ban đầu vào một vị trí có chi phí cao. Ngoài ra, đôi khi bạn có thể nhận được bộ điều khiển EBS xấu, vì vậy tốt nhất nên kiểm tra tốc độ của chúng trước khi thực hiện bất kỳ điều gì quan trọng. Tôi đã thấy một số lượng nhỏ các ổ đĩa với vấn đề đó. Nó phát sinh khi tôi chụp nhanh 4 ổ 500gb và 1 trong số chúng dài hơn 4-5 lần, ngay cả với cùng một dữ liệu.
Flashman

1

Amazon đã đưa ra tuyên bố mơ hồ rằng EBS nói chung sẽ vượt trội hơn so với phân vùng đầu "cục bộ" trên một ví dụ EC2. Tôi biết rằng tôi đã trải nghiệm thông lượng cao hơn trên một khối lượng EBS trong quá trình sử dụng của riêng tôi, nhưng tôi không bận tâm đến việc đo độ trễ.

Nếu bạn tò mò về hiệu suất trong một mục đích sử dụng cụ thể, thì cách tốt nhất của bạn có lẽ là thiết lập một ví dụ thử nghiệm. Tôi biết rằng tôi sẽ.


1

Tôi đã chạy các phiên bản MySQL trên khối lượng EBS và hài lòng với hiệu suất của chúng. Tôi cũng không có dữ liệu cứng nào, nhưng nó hoạt động rất tốt.

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.