设为首页 加入收藏

TOP

MySQL的配置优化(四)
2017-03-30 14:17:27 】 浏览:408
Tags:MySQL 配置 优化
为它分配一端内存缓冲区,如果对表的顺序扫描请求非常频繁,并且认为频繁扫描进行太慢,可以通过增加该变量值以及内存缓冲区大小提高其性能。和sort_buffer_size一样,该参数对应的分配内存也是每个连接独享。read_buffer_size = 1M


    随机读缓冲区大小,当按任意顺序读取行时,将分配一个随机读缓冲区,进行排序查询是,mysql会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但mysql会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,避免内存开销过大。read_rnd_buffer_size = 16M


   


    bulk_insert_buffer_size = 64M 批量插入数据缓存大小,可以有效提高插入效率,默认为8M


    binary log


    log-bin=/usr/local/mysql/data/mysql-bin


    binlog_cache_size = 2M  //为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存, 提高记录bin-log的效率。没有什么大事务,dml也不是很频繁的情况下可以设置小一点,如果事务大而且多,dml操作也频繁,则可以适当的调大一点。前者建议是--1M,后者建议是:即 2--4M


max_binlog_cache_size = 8M //表示的是binlog 能够使用的最大cache 内存大小


max_binlog_size= 512M  //指定binlog日志文件的大小,如果当前的日志大小达到max_binlog_size,还会自动创建新的二进制日志。你不能将该变量设置为大于1GB或小于4096字节。默认值是1GB。在导入大容量的sql文件时,建议关闭sql_log_bin,否则硬盘扛不住,而且建议定期做删除。


expire_logs_days = 7  //定义了mysql清除过期日志的时间。
二进制日志自动删除的天数。默认值为0,表示没有自动删除


mysqladmin flush-logs 也可以重新开始新的binarylog


 


在优化之前执行mysqlslap工具进行测试


[root@localhost ~]#mysqlslap--defaults-file=/etc/my.cnf --concurrency=10 --iterations=1--create-schema='test1' --query='select * from test1.tb1' --engine=innodb--number-of-queries=2000 -uroot -p123456 –verbose


显示结果:


Benchmark


        Runningfor engine innodb


        Averagenumber of seconds to run all queries: 13.837 seconds


        Minimumnumber of seconds to run all queries: 13.837 seconds


        Maximumnumber of seconds to run all queries: 13.837 seconds


        Numberof clients running queries: 10


        Averagenumber of queries per client: 200


优化之后执行mysqlslap工具进行测试


[root@localhost ~]#mysqlslap --defaults-file=/etc/my.cnf--concurrency=10 --iterations=1 --create-schema='test1' --query='select * fromtest1.tb1' --engine=innodb --number-of-queries=2000 -uroot -p123456 –verbose


显示结果:


Benchmark


        Runningfor engine innodb


        Averagenumber of seconds to run all queries: 4.199 seconds


        Minimumnumber of seconds to run all queries: 4.199 seconds


        Maximumnumber of seconds to run all queries: 4.199 seconds


        Numberof clients running queries: 10


        Averagenumber of queries per client: 200


首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL主从复制的一些心得体会 下一篇mysqldump备份结合binlog日志恢复

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目