MySQL 5.6.7 RC 前些天宣布了,因而我决议运用 tpcc-mysql 对其表示实行测试,包含功能和波动性方面。
我不克不及说我的测试进程是完满无瑕的,由于发明了两个 bug :
不知道是否是由于是 RC 版本的缘由,厥后向 Oracle 提交一些反应,下面是具体的测试情况:
测试后果:
第一个后果运用的事 2x4GB 的 InnoDB 日记文件:
我们可看出当 innodb_buffer_pool_instances=8 在很小的 buffer_pool 巨细时有很大的分歧,而运用大的 buffer_pool 时,innodb_buffer_pool_instances=1 的表示最棒。
测试后果在大的 buffer_pool 时是很波动的,缘由是 InnoDB 运用异步 flush 形式,在新的 InnoDB flush 机制下之前的问题曾经修复。不外 Dimitry 通知我需求一个更大的 InnoDB 日记文件来取得更波动的后果。
下面是 2x4GB vs 2x8GB innodb 日记文件巨细的比拟:
很明显,运用更大的日记文件,测试后果更波动!
结论:
innodb_buffer_pool_instances 参数明显的影响测试后果,特殊长短常高的 I/O 负载时。
在 MySQL 5.6 ,终极是可以取得十分波动的吞吐,但自适应的 flush 机制仍需较大的日记文件。
MySQL 设置装备摆设以下:[mysqld] gdb innodb_file_per_table = true innodb_data_file_path = ibdata1:100M:autoextend innodb_flush_method = O_DIRECT innodb_log_buffer_size = 256M innodb_flush_log_at_trx_commit = 1 innodb_buffer_pool_size = 125G innodb_buffer_pool_instances=8 innodb_log_file_size = 4G innodb_log_files_in_group = 2 #####plugin options innodb_read_io_threads = 16 innodb_write_io_threads = 16 innodb_io_capacity = 20000 innodb_io_capacity_max = 40000 #not innodb options (fixed) port = 3306 back_log = 50 max_connections = 2000 max_prepared_stmt_count=500000 max_connect_errors = 10 table_open_cache = 2048 max_allowed_packet = 16M binlog_cache_size = 16M max_heap_table_size = 64M sort_buffer_size = 4M join_buffer_size = 4M thread_cache_size = 1000 query_cache_size = 0 query_cache_type = 0 ft_min_word_len = 4 thread_stack = 192K tmp_table_size = 64M server-id = 10 #*** MyISAM Specific options key_buffer_size = 8M read_buffer_size = 1M read_rnd_buffer_size = 4M bulk_insert_buffer_size = 8M myisam_sort_buffer_size = 8M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 myisam_recover user=root skip-grant-tables本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协议,假如我们的任务有进犯到您的权益,请实时联络我们。
2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务