Mysql实例参数优化15个主要参数讲解(原创)

1.innodb_buffer_pool_size 设置物理内存的60%-80%,反应IO吞吐的最大上限
2.innodb_thread_concurrency 线程并发,设置为CPU核心数,如果等于0的话就由mysql自动分配,在自动分配时Linux内核层在分配时会产生mux锁互斥争用降低效率
3.query_cache_size、query_cache_type 默认设置成0 不开启结果集缓存
,如果启用修改表结构等操作会导致结果集缓存失效。大的生产环境这里都是关闭的
4.max_used_connections 用户最大连接数,一个连接最大占用16M
5.interactive_timeout 交互连接超时,mysql mysqldump等工具连接上来了,不包括API连接超时
6.wait_timeout API连接超时应用程序连接超时
7.innodb_io_capacity IO容量设置 根据IOPS设置 设置整体机器的75%,后台进程处理IO操作的数据page的上限
8.innodb_flush_log_at_trx_commit 设置为1 可设置为 0 1 2 设置为0代表log buffer日志缓存每秒都往log_file文件中刷入。2代表每个事物提交值刷新到OS的Cache中不刷新到磁盘,如果操作系统断电这部分日志就没了。1代表每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认。
9.sync_binlog 设置为1 代表1个提交就把日志从缓存中写到磁盘中
10.innodb_log_file_size日志文件大小默认很小,如果日志放在SSD上日志最小设置4GB到8GB
如果是在SAS盘建议设置1G到2G
11.innodb_log_files_in_group log文件有几个循环使用
12.innodb_flush_method 设置为O_DIRECT 刷脏块的时候,直接落到磁盘里,不经过缓存
O_DSYNC刷新到RAID卡的缓存就算成功
13.innodb_max_dirty_pages_pct 设置为50%,innodb buffer pool size 脏块刷到磁盘的百分比
14.innodb_flusuh_neighbors 关闭为0 相邻的数据进行合并该参数如果使用SAS盘开启,如果使用SSD盘关闭,主要是把随机访问合并成顺序访问。
15.transaction_isolation
事物隔离级别 建议使用RC 不用默认的RR

猜你喜欢

转载自www.cnblogs.com/dbalightyear/p/10747326.html
今日推荐