没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
mysql 学习着重架构的经验积累
系统瓶颈定位: -- > 工具 top
top --> 重点 4 个 值
us% -- > user 占用 用户态的进程占用
sy% -- > sys 占用 线程切换 中断 等等进程 命令 perf top(centos 6.0 之后看 系统进程调用情况)
perf top(redhat6.0 之后,查看系统进程调度)
id% -- > 系统空闲状态
wa% -- > io wait (磁盘 io) 怎么去查看? iostat
iostat -m -x 2
---- 重要指标 %util 系统繁忙程度(注意不是很准,只供参考尤其是机械磁盘)
注:当%util 非常高的时候,先查看 TPS 如果 TPS 很低,表示随机 IO 非常重.随机 IO 第二个指标 IOPS. 如果 r/s -
10 w/s - 400 rmb/s+wmb/s=1mb/s++ %util 近 100%(随机 io 非常高)
怎么去定位这个进程呢。能不能进行写的合并呢?
工具 pt-ioprofile 直接运行,会将写的最多的文件排在最前面。 pt-ioprofile --help
如果 %sy 高,用 perf top 去分析
如果 %us 高,top,如果 mysql 进程最前面,大概 2 个问题 1 大量的 sort 2 索引设计不合理,这样有慢日志
可以衡量,或者 show proesslist 定位问题。
指标计算:
1 > rmb/s + wmb/s = TPS(吞吐量)
pt-ioprofile 查看 mysqld 进程 写最多的文件,如果是独立表空间的话你知道的,也可指定进程查看
2 > r/s(读次/s) + w/s(写次/s) = IOPS
如何分析内存瓶颈?
mysql 延迟复制的问题怎么定位 -- > 查看当前连接数的状态 -- > 扩大连接数的技术 thread pool
问题 mysql 连接数上来之后性能为什么下降?
因为 mysql 是基于线程处理模型,当一个连接进来 mysql 要创建一个线程,当线程过多 mysql cpu 做线程的
索的争用,线程的维护,所以性能下降。
mysql 服务器优化建议总结
1.
要确保有足够的内存
数据库能够高效的运行,最关建的因素需要内存足更大了,能缓存住数据,更新也可以在内存先完成。
但不同的业务对内存需要强度不一样,一推荐内存要占到数据的
15-25%
的比例,特别的热的数据,内
存基本要达到数据库的 80%大小。
资源评论
CodeGolang
- 粉丝: 55
- 资源: 1088
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功