3 ms·
How is it that native is slower then virtual i/o in his tests? I don't get it... if it's only reading some cached data, it's not a real test scenario, isn't it?
by buster 13y ago
How is it that native is slower then virtual i/o in his tests? I don't get it... if it's only reading some cached data, it's not a real test scenario, isn't it?
So i suppose, the host system caches the reads. Also, how could it possibly be true that native writes are slower then virtual writes?
- icebraining 13y agoFrom the article: It is interesting that sometimes the native filesystem within the virtual machine outperforms the native filesystem on the host machine. This test uses raw read system calls with zero user-space buffering. It is very likely that the hypervisors do buffering for reads from their virtual machines, so they’re seeing better performance from not context switching to the native kernel as much. This theory is further supported by looking at the raw result data for fread benchmarks. In those tests, the native filesystem beats the virtual filesystems every time.
- buster 13y agoIt doesn't explain a thing on why. He just measured the performance of memory access and different caching strategies. From my point of view the "benchmarks" say nothing at all about actual I/O disk performance in virtual and native environments.
- barrkel 13y agoYou wouldn't expect the actual disk I/O to be different. The VM has overheads in transporting the data; that's what the article is trying to measure. And with that in mind, the "native" bars are pretty much useless in this article. They should always be higher than the VM bars, unless specifically trying to test fsync - and since it seems fsyncs are ignored, the test isn't being achieved.
- noselasd 13y agoThat says exactly why. You read from a file and tell the OS to not buffer it(or you tell the OS to flush the caches before you start) on a native system, and it does exactly that. You read from a file and tell the OS to not buffer it (or you tell the OS to flush the caches before you start) on a VM, and the OS thinks it does that, but the hypervisor living below the VM buffers some of the data anyhow, so you're really just reading from memory.
- bryanlarsen 13y agoIt could be because native is running OS X but they're running Ubuntu inside the VM.
- cwyers 13y agoOn write, the VM probably reports that data is written to disk when it's written to an in-memory cache, then writes it to actual disk. So write is faster because the application is being lied to, not actual performance. That wouldn't explain the rads, though.
- bluedino 13y agoBenchmarks are flawed. Combine that with 'virtual' devices and you're bound to get amazingly weird results.