We recently ran a number of performance tests comparing docker and podman. From what we observed the main difference can be related to that with docker it works to run with unlimited CPU in ECE under deployments while in podman it is not possible. This is, according to the support, due to how podman works with the limitations and if it's possible to change once the container is running or not.
When running with the CPU limit on under all deployments, the main difference we observe is the startup of each instance that can become quite slow. This is yet again related to the previous "function", according to support the CPU limit is off during startup of an instance but since it doesn't work to disable the CPU limit in podman the startup happends with the resources the instance has allocated.
Once an instance is up and running, we didn't have any larger differences in performance between podman and docker while running Rally tests. We were running ECE 3.6.0 and Elasticsearch 8.10.4
Could your tests depends on this, I found this information in another post?
ECE does not have
"Finally, I'll note that you seem to be comparing root Docker to rootless Podman, which we don't really expect to perform comparably - rootless will be slower, due to the compromises it has to make in the name of improved security. However, I think we'd expect it to be ~15% slower, not the figures you are seeing."
No, as I mentioned we see similar performances with docker and podman when they run with similar resources. Our discrepancies were connected to situations where docker were running without any CPU limitation.
We will probably not implement podman but go with unsupported docker instead because of the savings its related to in our environment, but that is of course a decision one has to make per implementation.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.