{
  "slug": "fio-iops-bandwidth-latency-calc",
  "title": "IOPS, bandwidth, queue depth and latency: a worked table from Little's law",
  "kind": "dataset",
  "summary": "How IOPS, bandwidth, queue depth and mean latency relate, as a worked table of 100 rows: four block sizes (4 KiB to 1 MiB), queue depths of 1 to 128 and mean latencies of 100 microseconds to 10 milliseconds. The rules are IOPS = queue depth / mean latency (Little's law) and bandwidth = IOPS x block size, in decimal MB/s and in MiB/s as fio prints them. Pure arithmetic, no measurement. For example, queue depth 1 at 100 microseconds is 10,000 IOPS and 40.96 MB/s at 4 KiB, and queue depth 32 at 1 millisecond is 32,000 IOPS.",
  "license": "The table is arithmetic computed here from Little's law and from the unit conventions of fio. No third-party data or documentation text is copied. Reuse is fine with attribution to this site.",
  "licenseUrl": "https://en.wikipedia.org/wiki/Wikipedia:Copyrights",
  "sourceUrl": "https://en.wikipedia.org/wiki/Little%27s_law",
  "accessed": "2026-10-10",
  "rowCount": 100,
  "columns": [
    {
      "name": "block_size_bytes",
      "type": "integer",
      "description": "I/O size in bytes: 4096, 16384, 131072, 1048576. These are the values fio reads from bs=4k, 16k, 128k, 1m with its default kb_base of 1024."
    },
    {
      "name": "queue_depth",
      "type": "integer",
      "description": "I/Os in flight, the fio iodepth option, and L in Little's law."
    },
    {
      "name": "mean_latency_us",
      "type": "integer",
      "description": "Mean time one I/O spends in the system, in microseconds, and W in Little's law."
    },
    {
      "name": "iops",
      "type": "integer",
      "description": "queue_depth / mean_latency_us * 1e6, I/Os per second. Computed here."
    },
    {
      "name": "bandwidth_mb_s",
      "type": "number",
      "description": "iops * block_size_bytes / 1e6, two decimals, decimal megabytes per second (the kB/s style fio prints)."
    },
    {
      "name": "bandwidth_mib_s",
      "type": "number",
      "description": "iops * block_size_bytes / 2^20, two decimals, mebibytes per second (the KiB/s style fio prints)."
    }
  ],
  "downloadPath": "/data/datasets/fio-iops-bandwidth-latency-calc.csv",
  "chartPath": "/data/datasets/fio-iops-bandwidth-latency-calc.svg",
  "citations": [
    {
      "id": "little",
      "title": "Little's law, Wikipedia: L = lambda W and the response-time example",
      "url": "https://en.wikipedia.org/wiki/Little%27s_law",
      "accessed": "2026-10-11"
    },
    {
      "id": "fio",
      "title": "fio documentation: iodepth, blocksize, kb_base and unit prefixes",
      "url": "https://fio.readthedocs.io/en/latest/fio_doc.html",
      "accessed": "2026-10-11"
    }
  ]
}
