con*_*fiq 5 mysql performance configuration unit-test mysql-5.6
我们有一个用于单元测试的 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/
innodb_log_file_size
对于我认为是批量加载的具有大量写入的单元测试数据来说,它看起来相当小。
innodb_buffer_pool_size
需要设置一个适当的值来考虑活动测试的大小。
因为崩溃安全不是一个问题,比如innodb_doublewrite=0
innodb_flush_log_at_trx_commit=0
,会加速写入事务。
max_connections
意味着您正在执行多线程客户端,如果这些客户端正在连接/断开连接,则可能将其设置thread_cache_size
为通常使用的最大数量。
测试运行后SHOW GLOBAL STATUS
可能会提示可以调整哪些其他方面。
归档时间: |
|
查看次数: |
1067 次 |
最近记录: |