Repository navigation
Rootless network performance (pasta vs slirp4netns) #22559
Replies: 1 comment
Not really options, at the moment. We check latency using neper in the upstream CI ( There are plans to introduce multithreading, eventually, and much more concrete work in progress to support vhost-user for virtual machines (passt(1)), first. Once vhost-user support is merged, we can start playing with multithreading for virtual machines (vhost-user supports multiple queues). That would be kind of symmetric with VDUSE for containers (see "VDUSE support for containers" in this article): for pasta, it could look like this. I'm not excluding you could get much better results by tweaking some |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I did some network performance tests to see how good pasta is compared to slirp4netns. I start on one physical machine nginx (as podman container), and send requests from other phyiscal mashine with "Apache HTTP server benchmarking tool" (ab). Here the results:
Default rootless network (pasta)
ab -c 1 -n 10000ab -c 4 -n 40000ab -c 8 -n 80000ab -c 16 -n 160000ab -c 32 -n 320000Rootless network with slirp4netns
ab -c 1 -n 10000ab -c 4 -n 40000ab -c 8 -n 80000ab -c 16 -n 160000ab -c 32 -n 320000Default rootfull network
ab -c 1 -n 10000ab -c 4 -n 40000ab -c 8 -n 80000ab -c 16 -n 160000ab -c 32 -n 320000Conclusion
As you can see, pasta performs better than slirp4netns only up to a certain parallelism (specifically up to 8). Then slirp4netns starts to perform significantly better. Rootfull network scales best, which is to be expected.
Question
Are there any options to improve pasta's scalability?
All reactions