我们有一个用于单元测试的 MySQL 实例。我们的单元测试主要针对 MySQL。因此,我们将/var/lib/mysql
dir放在tmpfs
文件系统中,因为我们在单元测试中不需要持久数据。
当我们这样做时,我们的表现达到了顶峰;但是,我想咨询一下您在这种情况下MySQL的最佳配置是什么。
将 MySQL 放入tmpfs
(内存)并运行单元测试等不重要的内容是很常见的。问题是:InnoDB 运行的最佳配置是什么tmpfs
?
这些是我们的配置my.cnf
:
max_connections=350
innodb_fast_shutdown=2
innodb_log_file_size=1048576
innodb_doublewrite=0
innodb_flush_method=O_DIRECT
Run Code Online (Sandbox Code Playgroud)
我们所有的数据库都在 InnoDB 中。我们不介意丢失一些数据。
PS 你可能会问,为什么不使用MEMORY
引擎呢?这是因为MEMORY
只有表级锁定,我们的部分单元测试就是基于此。
编辑:我们已经完成了这个项目,我们的配置基于这篇博文: http://jotschi.de/2014/02/03/high-performance-mysql-testdatabase/