Significant difference in results when using runsc (gVisor) versus runc
Significant difference in results when using runsc (gVisor) versus runc
I'm testing gVisor's IO performance with fio and encountered puzzling outcomes. When using native or runc, latency stays around 6000ns, whereas gVisor shows about 100ns on average. Bandwidth also differs: both native and runc handle ~360MiB/s with a block size of 128Kb and depth of 32, while gVisor manages roughly 2500MiB/s. This strongly suggests a caching problem. Fortunately, fio offers an option to skip caching (`--direct=1`), but it doesn't seem to resolve the issue for gVisor either. Some studies report correct bandwidth figures but admit they can't fix latency, and I share that experience too. If you need guidance, let me know what direction to explore further. Steps to reproduce: launch a pod in a Kubernetes cluster using runsc with fio benchmarking enabled, specifying the exact version details provided.