mysql优化目标

系统层面:
	减少 IO 次数
	IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段。
	降低 CPU 计算,充分利用cpu
	除了 IO 瓶颈之外,SQL优化中需要考虑的就是 CPU 运算量的优化了。order by, group by,distinct … 都是消耗 CPU 的大户(这些操作基本上都是 CPU 处理内存中的数据比较运算)。当我们的 IO 优化做到一定阶段之后,降低 CPU 计算也就成为了我们 SQL 优化的重要目标
	mysql 使用16c的机器最好,32c的高配反而会导致mysql的性能下降
	在32核的cpu上,将innodb_thread_concurrency设为32也不能避免这个问题。
	innodb_thread_concurrency=32
	解决方案:
	32C  4个socket,可以用numal绑定到6个C上 numactl 绑定指核启动 。eg: numactl --physcpubind=1 --localalloc mysqld_safe --user=mysql&     
	同时innodb_thread_concurrency=n这个参数的设置,对cpu的 利用率也是很大的。
	保证不使用swap分区
	如果使用了swap分区,且cache又很大的话,清cache,重新挂载swap
		先sync
		再清cache
		echo 1 > /proc/sys/vm/drop_caches
		echo 2 > /proc/sys/vm/drop_caches
		echo 3 > /proc/sys/vm/drop_caches
		swapoff -a && swapon -a
	
数据库层面:
	是否出现死锁
	若出现死锁,则因快速回滚死锁set global innodb_lock_wait_timeout=n的值	
	


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值