IOPS versus Throughput

前端 未结 4 1114
孤城傲影
孤城傲影 2021-01-30 15:38
  1. What is the key difference between IOPS and Throughput in large data storage?
  2. Does file size have an effect on IOPS? Why?
相关标签:
4条回答
  • 2021-01-30 16:19

    IOPS measures the number of read and write operations per second, while throughput measures the number of bits read or written per second.

    Although they measure different things, they generally follow each other as IO operations have about the same size.

    If you have large files, you simply need more IO operations to read the entire file. The file size has no effect on the IOPS as it measures the number of clusters read or written, not the number of files.

    If you have small files, there will be more overhead, so while the IOPS and throughput look good, you may experience a lower actual performance.

    0 讨论(0)
  • 2021-01-30 16:21

    IOPS - Number of read write operations mostly useful for OLTP transactions used in AWS for DBs like Cassandra.

    Throughput - Is the number of bit transferred per sec. i.e.data transferred per sec. Mainly a unit for high data transfer applications like big data hadoop,kafka streaming

    0 讨论(0)
  • 2021-01-30 16:25

    The Disk IOPS Describes the count of input/output operations on the disk per seconds, regardless block size.

    The disk throughput describes how many data may be transferred per second, so the block size play a huge role upon calculating the throughput required by app

    Let's consider as the sample the 3000 IOPS and SQL database engine, the block size in terms of db engine is called the page size and for SQL Server it's equal to 8 KB. If you wish to calculate the actual throughput, if the IOPS defined, you will end up with the formula below:

    throughput = [IOPS] * [block size] = 3000 * 8 = 24 000 KB/s = 24 MB/s
    
    0 讨论(0)
  • 2021-01-30 16:36

    This is the analogy I came up with when talking about Throughput and IOPS.

    Think of it as :

    1. You have 4 buckets (Disk blocks) of the same size that you want to fill or empty water.

    2. You'll be using a jug to transfer the water into the buckets. Now your question will be :

    • At a given time (per second), how many jugs of water can you pour(write) or withdraw (read)? This is IOPS

    • At a given time (per second) what's the amount(bit, kb, mb, ect) of water the jug can transfer into/out of the bucket continuously? This is throughput.

    Additionally, there is a delay in the process of you pouring and or withdrawing the water. This is Latency.

    There's 3 things to consider when talking about IOPS and Throughput.

    • Size (file size/ block size)
    • Patterns (Random/Sequential)
    • Mix (Read/Write) percentage
    0 讨论(0)
提交回复
热议问题