Hello, I’m evaluating the storage performance of several container runtimes using fio, including runc and runsc. However, I’ve been unable to reproduce the relative performance shown in gVisor’s Performance Guide: https://gvisor.dev/docs/architecture_guide/performance/
In my results, runsc consistently performs around 5–6× better than runc for the same fio workload, which seems unexpectedly large.

I initially suspected this might be related to gVisor’s root filesystem overlay optimization. I tested runsc with:
and also with:
However, disabling these features had only a relatively small effect on the results, and runsc still significantly outperforms runc.
The fio workload I’m currently using is roughly:
I’ve attached a comparison of the results.
Is there something about gVisor’s filesystem/I/O path or fio semantics that could explain this difference? Also, is there a particular fio configuration or methodology used for the storage benchmarks shown in the Performance Guide that I should use to make the comparison more representative?
--
You received this message because you are subscribed to the Google Groups "gVisor Users [Public]" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gvisor-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/gvisor-users/4d21282c-b124-4175-afbe-98fd0c7f1731n%40googlegroups.com.