Database Docker容器IO性能

Database Docker容器IO性能,database,virtualization,docker,Database,Virtualization,Docker,我试图研究docker的IO性能开销,因此我在特定的机器上创建了一个mysql docker容器,并运行了sysbench mysql基准测试来测量IO性能。Sysbench基本上在一段时间内执行一些读/写事务,然后输出完成的事务数和事务/秒数 当我在本机机器上运行基准测试时,每秒可以获得779.5个事务。当我在mysql容器中运行基准测试时,每秒可以获得336个事务。几乎是每秒事务数的一半。这是docker的正常性能开销吗?这对于在生产系统中的容器中运行数据库来说是一个巨大的缺点,尤其是对于I

我试图研究docker的IO性能开销,因此我在特定的机器上创建了一个mysql docker容器,并运行了sysbench mysql基准测试来测量IO性能。Sysbench基本上在一段时间内执行一些读/写事务,然后输出完成的事务数和事务/秒数


当我在本机机器上运行基准测试时,每秒可以获得779.5个事务。当我在mysql容器中运行基准测试时,每秒可以获得336个事务。几乎是每秒事务数的一半。这是docker的正常性能开销吗?这对于在生产系统中的容器中运行数据库来说是一个巨大的缺点,尤其是对于IO/数据库密集型应用程序而言

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

这可能是一个在服务器故障上更好地提出的问题。在大多数情况下,除了网络之外,Docker应该与裸金属保持一致。你正在运行什么类型的事务?缓存可能是一个因素。