MySQL核心参数优化(mysql配置文件参数优化)

网友投稿 580 2022-06-16


一.数据库服务器配置

CPU:48C

内存:128G

DISK:3.2TSSD

二.CPU的优化

innodb_thread_concurrency=32

表示SQL经过解析后,允许同时有32个线程去innodb引擎取数据,如果超过32个,则需要排队;

值太大会产生热点数据,global锁争用严重,影响性能

三.内存的优化

query_cache_type=0

query_cache_size=0

缓存查询,5.6默认关闭,在应用层实现,比如MC、redis

四.IO的优化

1.innodb_buffer_pool_size=50G

类似SGA,衡量总的IO处理能力上限,一般为物理内存的60%-70%,这里128G部署2个实例,剩下28G分配给OS和mysql连接等使用

2.innodb_io_capacity=20000

每秒后台进程处理IO数据的上限,一般为IO QPS总能力的75%

比如SSD是3W QPS,75%大概是2W,双实例减半,为1W,几个实例除以几

3.innodb_log_files_in_group=4

几个innodb redo log日志组

4.innodb_log_file_size=1000M

redo log日志循化写,生产必须大于1G,

如果太小,那么innodb_buffer_pool_size的数据有可能不能及时写入redo log造成halt等待;查看是否够用?如果value大于0,则提高改参数或者增加日志组

root@master 12:51: [(none)]> show global status like '%log_wait%';

+------------------+-------+ | Variable_name | Value |

+------------------+-------+

| Innodb_log_waits | 0 | +------------------+-------+ 1 row in set (0.00 sec)

root@master 12:54: [(none)]> show global status like '%Innodb_os_log_written%';

+-----------------------+-------+ | Variable_name | Value |

+-----------------------+-------+

| Innodb_os_log_written | 1024 | +-----------------------+-------+ 1 row in set (0.00 sec) #此参数大小可作为设置日志文件size大小参考值

5.innodb_flush_method=O_DIRECT

SSD直接写硬盘,不写硬盘cache,也就是绕过fsync()刷硬盘

6.innodb_max_dirty_pages_pct=50

当脏块达到innodb_buffer_pool_size的50%时,触发检查点,写磁盘

7.innodb_file_per_table=on

一表一文件,可以避免共享表空间的IO竞争

8.innodb_page_size=4k

默认是16K,这里是SSD,写SSD前要擦除,擦除单位是extent,一个extent有128个page组成,16_128 > 4_128 ,效率会更高

9innodb_flush_neighbors=0

SSD设置为0,SAS打开刷新相邻块,随机访问转换为顺序访问

五.连接的优化

可以考虑设置为max_connections或者max_connections*查询同时用到的表个数或者

5.thread_cache_size=512

都是短连接进来容易产生短连接风暴

会话层:事务状态、认证会话

连接层:网络连接、包传输

一个用户 对应 一个session 对应 一个connection

connection - thread:操作系统调用

3000个用户进来使用cache的512个线程,用完就放回去,避免创建、销毁线程的开销

6.wait_timeout=120

指的是app应用连接mysql进行操作完毕后,空闲120秒后断开

7.interactive_timeout=120

指的是mysql client连接mysql进行操作完毕后,空闲120秒后断开

六.数据一致性的优化


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:redis集群复制和故障转移(redis集群主从复制原理)
下一篇:PHP 数据库操作
相关文章

 发表评论

暂时没有评论,来抢沙发吧~