Q: A normal Azure disk has a limit of 500 IOPS. However, I sometimes see more than 500 IOPS when I run a performance test; why?
A: Each Azure disk has caching options available, such as read cache, read/write cache, or no cache. By default, the OS disk has read/write cache enabled and data disks have whatever cache configured that was set during their creation. With caching enabled, portions of the host disk and memory are used to provide caching for the disk, which will improve performance. If you see more than 500 IOPS on a standard disk, you're most likely seeing the benefit of caching—which, by design, is improving the performance you see. If you access data you've previously read, then you'll likely see higher performance. The 500 IOPS limit is against the Azure storage and doesn't include any caching benefit.
Remember than the 500 IOPS limit is per disk. If you have multiple data disks and have combined them using Storage Spaces, then you should expect to see aggregated performance. For example, four 500-IOPS disks should give 2,000 IOPS of performance.