| |
Conviva's Rust query engine experienced significant performance degradation under concurrent load after discovering that memory-mapped I/O (mmap) caused severe page cache thrashing when multiple pods competed for shared host resources. When switching from single to multiple pods, performance actually worsened due to kernel-level lock contention on the shared page cache, despite having more parallelism available. The team investigated replacing mmap with io_uring but found the alternative was even slower, ultimately requiring a different architectural solution to handle their high-concurrency workload efficiently.
Read Full Article →
← More Tech news