我在Docker(18.03.1-ce)容器中运行MySQL(5.7),并且正在使用Sysbench(1.0.15)对其进行基准测试。当我使用--cpus = 1来运行Docker来限制容器的CPU使用率时,就每秒事务数(TPS)和延迟(P99)而言,我的性能很差。
docker run --cpus=1 -it --rm mysqldemo
结果:TPS = 490和Latency(P99)= 41ms
现在,如果将cpus数量增加到2,结果会更好。
docker run --cpus=2 -it --rm mysqldemo
结果:TPS = 865和等待时间(P99)= 1.5ms
请注意,此性能提升不是 NOT ,仅仅是由于拥有更多内核而导致的,因为在Sysbench中,我将线程设置为1。在两次运行中,除了cpus限制外,其他所有功能都是相同的。
因此,我想知道Docker是否存在某种导致--cpus = 1性能差的开销。