mysql innodbuffer修改_mysql中如何更改innodb_buffer_pool_size的值

本文通过调整innodb_buffer_pool_instances参数,将Buffer Pool分区以减少锁竞争,提升数据库性能。通过sysbench预热数据并监测hash_table_locks观察项,揭示优化前后性能变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

展开全部

innodb_buffer_pool_instances 参数,将 buffer pool 分成几个区,每个区用独立的锁保护,这样就减少了62616964757a686964616fe59b9ee7ad9431333433653336访问 buffer pool 时需要上锁的粒度,以提高性能。准备一个空数据库,在这里我们将 performance_schema_events_waits_history_long_size 调大,是为了让之后实验数据能采集的更多,在此不多做介绍。使用 sysbench,准备一些数据,

c7c89df56a67afe14a2e90d86b4d7d0c.png

对数据进行预热 60s,可以看到预热期间的性能会不太稳定,预热后会比较稳定,32f2beb9103876a0e1b40db83c7070b0.png

设置 performance_schema,这次我们将仅开启观察项(生产者)hash_table_locks,并开启 waits 相关收集端(消费者)。(相关介绍参看 实验 03)

为什么我们知道观察项应该选择 hash_table_locks?在 performance_schema.setup_instruments 表中,列出了所有观察项,但我们很难从中选出我们应观察哪个观察项。这时候,可以将所有观察项都启用,然后设计一些对比实验,比如使用几种不同的 SQL,观察这些操作影响了哪些观察项,找到共性或者区。还有一种高效的方式是搜索别人的经验,或者阅读 MySQL 源码。本例中 hash_table_locks 隐藏的比较深,使用了阅读 MySQL 源码和对比试验结合的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值