Docker容器的IO性能

我试图调查docker的IO性能开销,所以我创build了一个特定的机器上的mysqldocker容器,我运行sysbench mysql基准测量IO性能。 Sysbench基本上在一段时间内执行一些读/写事务,然后输出完成的事务数和事务/秒率。

当我在本地机器上运行基准testing时,我每秒得到779.5个事务。 当我在一个mysql容器中运行基准testing时,我得到336个交易/秒。 几乎是每秒交易次数的一半。 这是docker的正常性能开销? 在生产系统的容器中运行数据库,特别是IO /数据库密集型应用程序,这是一个巨大的缺点

您是否使用数据库文件的Docker卷? 默认情况下,容器内的文件写入将写入到写入时复制文件系统,这对于数据库文件来说是低效的。 使用卷将意味着你可以直接写入主机文件系统。