环境介绍:
CentOS 6.5
MySQL 5.5.40
硬件:4核,4GB
参考链接:
http://dev.mysql.com/doc/refman/5.5/en/insert-speed.htmlhttp://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html
由于业务量迅速扩展,对写入速度需求越来越高,现预估需要将数据插入速度由每分钟2000条,调整为每秒100条即每分钟6000条;
解决办法:
1.优化数据库主机IO;
2.调整MySQL对应参数。
开始处理:
1.主机IO优化
a.将数据库设置为独立表空间,并且将每个表空间放在不同的硬盘上;
b.关闭主机其他影响IO的进程。
2. 调整my.cnf参数,提升MySQL写速度
innodb_autoextend_increment =128M
innodb_log_buffer_size =32M
innodb_log_file_size=128M
bulk_insert_buffer_size=128M
以上参数是逐步变更到对应大小的
innodb_flush_log_at_trx_commit = 0
3.修改insert插入为insert delayed. insert delayed特点:立即返回结果,后台进行处理插入处理。