Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

5
  • I understand the meaning of QD. Thank you for the explanation. In macOS, is it possible to see the physical block IOPS, whether the logical block size is 1MB or 4K? I am just using the fio tool, but I'm not sure if it's helping. Another question: Can the operating system control the IOPS? Commented Jun 21 at 16:52
  • The IOPS is a function of how fast the controller can switch between data blocks within the flash on the SSD. The OS doesn't really have anything to do with it apart from what block size it requests and what queue depth it works at. The OS can't tell the controller how to do it's job, only what it wants from it. The "physical IOPS" is not really something that is relevant, and due to drive wear levelling is going to be similar to the highest random IOPS figures. Due to wear levelling data may well be randomly distributed across the flash memory.
    – Mokubai
    Commented Jun 21 at 17:25
  • I understand that IOPS is influenced by the SSD controller's ability to switch between data blocks, and the OS influences this by the block size it requests and the queue depth. To clarify: When testing IOPS with a 1MB block size for random access, does it behave similarly to sequential access with 1MB blocks, effectively selecting sequential 1MB blocks randomly? Is testing random access with a 1MB block size practical? For accurate random access testing, should I use the physical block size instead? Commented Jun 22 at 14:07
  • Random 1MB blocks will be roughly equivalent to sequential 1MB blocks with potentially a slight difference in time if the device needs to power up read circuitry in a different flash cell or device. It will be miniscule compared to the time to read a 1MB block though. I would expect 1MB random to be nearly identical to 1MB sequential tests for an SSD and not really relevant to test. Random tests are showing you worst case performance of smallest blocks all over the place, sequential are showing best case of big blocks close together. Normal operation will be somewhere between those two.
    – Mokubai
    Commented Jun 22 at 14:18
  • Thank you for the explanation. Your clarification was very helpful. Commented Jun 23 at 4:29