MySQL内存优化原则

1将更多的物理内存分配给MySQL做缓存,比如32core256G(一般是8倍),但不要分的太多,否则会产生swap,要去关注free命令下的free空闲空间的使用情况,至少留4G空间内存,2G有点危险了,剩下的给MySQL分了。

2myisam 现在用的比较少了。

Innodb表,索引都会被innodb buffer pool缓存,而且这个pool足够大,因此读写都不需要os缓存

Myisam表、索引来说,只有索引会被缓存、表不会被缓存,因此对于表的访问,一定会产生物理读,因此myisam表读取性能需要依赖os缓存(fs缓存)

3、对于用户线程工作空间的大小设置需要注意,是每个线程分配的大小。

 

 

MySQL 内存是否分配过量

free空间小于1G,甚至几十几百兆,就是分配过量。

Vmstat 1:看swapsiso,是否产生swap inswap out,有就是分配过量了。对于innodb表来说:

 

 

Ibd文件里有主键列和二级索引,将来表和索引都调进innodb_buffer_pool内存中去缓存,所以文件系统对于innodb来说没有意义。对于myisam表来说:

 

 

对于myisam表来说,只在内存中划一块区域出来缓存索引,不缓存表数据, 所以对于myisam 表,只要是读表,就一定发生物理读。

 

如何判断内存分配过量?

1free命令查看free变的越来越小,小于1G

2vmstat里面发生swap

 

如何判断内存分配剩余?

Free看剩余空间是否远远超过4G

 

转载于:https://www.cnblogs.com/5945yang/p/11061661.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值