Thông lượng
Thông lượng là hữu ích khi bạn đang làm những việc như sao chép tệp. Khi bạn đang làm hầu hết mọi thứ khác, việc đọc và ghi ngẫu nhiên trên đĩa sẽ hạn chế bạn.
IOPS
IOPS thường chỉ định kích thước của từng gói dữ liệu. Ví dụ: AWS gp2 có thể thực hiện 10.000 IOPS với kích thước tải trọng 16 KiB . Nó nhân lên tới 160MiB / giây. Tuy nhiên, có thể bạn sẽ không sử dụng kích thước tải trọng đầy đủ mọi lúc, vì vậy thông lượng thực tế có thể sẽ thấp hơn. NB KiB là 1024 byte, KB là 1000 byte.
Bởi vì IOPS chỉ định kích thước gói cũng cung cấp cho bạn tổng thông lượng. Trong khi thông lượng cao không có nghĩa là bạn có IOPS cao.
Kịch bản
Hãy xem xét các kịch bản sau:
- Khởi động PC của bạn. Hãy xem xét sự khác biệt giữa SSD và đĩa quay trong máy tính của bạn, đây là điều mà nhiều người có trải nghiệm đầu tiên. Với một đĩa quay, thời gian khởi động có thể là một phút, trong khi với SSD, thời gian này có thể giảm xuống còn 10 - 15 giây. Điều này là do IOPS cao hơn dẫn đến độ trễ thấp hơn khi thông tin được yêu cầu. Thông lượng của đĩa quay khá tốt, 150MB / giây, mặc dù SSD có khả năng cao hơn nhưng đây không phải là lý do nhanh hơn - đó là độ trễ thấp hơn để trả về thông tin.
- Chạy một bản cập nhật hệ điều hành. Nó đi khắp đĩa, thêm và vá các tập tin. Nếu bạn có IOPS thấp thì sẽ chậm, bất kể thông lượng.
- Chạy một cơ sở dữ liệu, ví dụ chọn một lượng nhỏ dữ liệu từ một cơ sở dữ liệu lớn. Nó sẽ đọc từ chỉ mục, đọc từ một số tệp, sau đó trả về kết quả. Một lần nữa, nó sẽ đi khắp đĩa để thu thập thông tin.
- Chơi một trò chơi trên PC của bạn. Nó có thể tải một số lượng lớn kết cấu từ tất cả các đĩa. Trong trường hợp này IOPS và thông lượng có khả năng được yêu cầu.
Băng LTO
Hãy xem xét một lúc một hệ thống sao lưu băng. LTO6 có thể thực hiện 400MB / giây, nhưng (tôi đoán ở đây) thậm chí có thể không thực hiện một IOP ngẫu nhiên, nó có thể thấp đến vài giây trên mỗi IOP. Mặt khác, nó có thể có thể thực hiện rất nhiều IOPS tuần tự, nếu IOPS được định nghĩa là đọc hoặc ghi một lô dữ liệu vào băng.
Nếu bạn đã cố khởi động một hệ điều hành khỏi băng thì sẽ mất nhiều thời gian, nếu nó hoạt động hoàn toàn. Đây là lý do tại sao IOPS thường hữu ích hơn thông lượng.
Để hiểu một thiết bị lưu trữ, có lẽ bạn muốn biết đó là IOPS ngẫu nhiên hay tuần tự và kích thước IO. Từ đó bạn có thể rút ra thông lượng.
AWS
Lưu ý rằng AWS không xuất bản cả IOPS và số liệu thông lượng cho tất cả các loại lưu trữ của nó, trên trang này . SSD đa năng (gp2) có thể thực hiện 10.000 IOK 16KiB, cho tốc độ tối đa 160MB / giây. IOPS được cấp phép (io1) là 20.000 IOPS 16KiB, cho tốc độ tối đa 320MB / giây.
Lưu ý rằng với khối lượng gp2, bạn nhận được 30IOPS cho mỗi GB được cung cấp, vì vậy để có được 10.000 IOPS, bạn cần có dung lượng 333,33GB. Tôi không nhớ nếu các tập io1 có giới hạn tương tự (đã được một thời gian kể từ khi tôi thực hiện bài kiểm tra liên kết nơi loại điều đó được kiểm tra), nhưng tôi nghi ngờ họ làm như vậy, và nếu vậy thì có lẽ là 60IOPS mỗi GB.
Phần kết luận
Thông lượng tuần tự cao là hữu ích, và trong một số trường hợp là yếu tố hạn chế hiệu suất, nhưng IOPS cao có thể sẽ quan trọng hơn trong hầu hết các trường hợp. Tất nhiên bạn vẫn cần thông lượng hợp lý bất kể IOPS.