MYSQL性能调优工具介绍.ppt

上传人:za****8 文档编号:12667434 上传时间:2020-05-13 格式:PPT 页数:54 大小:2.21MB
返回 下载 相关 举报
MYSQL性能调优工具介绍.ppt_第1页
第1页 / 共54页
MYSQL性能调优工具介绍.ppt_第2页
第2页 / 共54页
MYSQL性能调优工具介绍.ppt_第3页
第3页 / 共54页
点击查看更多>>
资源描述
MySQL性能调优工具介绍,2013.03.27DBA王洪权mydbalife,内容概要,一mysqlawr报告(简单的AWR,mysqltuner.pl,tuning-primer.shpt-query-digest,pt-variable-advisor)二性能分析工具介绍(mytop,innotop,orzdba,tcpdump,pt-query-digest,tbdba-slow-picker.pl,iotop,io-profile,nicstat,mpstat,iostat,vmstat,tcprstat,dstat,oprofile,vmtouch)三主从复制延时解决(relay-fetch介绍)问答,2020/5/13,工具化的启发,工具化的重要性(熟练运用已有的工具,可以快速对数据库进行诊断,时刻了解你的数据库的运行状况),2020/5/13,mysqltuner.pl给mysql做个简单报告,2020/5/13,mysqltuner.pl给mysql做个简单报告,2020/5/13,tuning-primer.sh,2020/5/13,tuning-primer.sh,2020/5/13,pt-variable-advisor诊断你的参数设置是否合理,2020/5/13,pt-qury-digest给mysql做个简单SQL报告,2020/5/13,mytop查看你的mysql在做什么,2020/5/13,mytop查看你的mysql在做什么,2020/5/13,innotop综合了解你的mysql(mytop加强版),innotop-mQ,2020/5/13,innotop综合了解你的mysql(mytop加强版),2020/5/13,orzdba时刻了解你的数据库,2020/5/13,orzdba时刻了解你的数据库,2020/5/13,tcpdump抓包,2020/5/13,tcpdump+pt-query-digest抓包捕捉瞬时sql,2020/5/13,tcpdump+pt-query-digest抓包捕捉瞬时sql,2020/5/13,tcpdump+pt-query-digest抓包捕捉瞬时sql,2020/5/13,./dba-slow-picker.pl(诊断异常时刻SQL),2020/5/13,找寻哪个进程在磨你的磁盘,iotop,2020/5/13,ioprofile查看IO情况的利器,2020/5/13,ioprofile查看IO情况的利器,2020/5/13,ioprofile查看IO情况的利器,2020/5/13,ioprofile查看IO情况的利器,2020/5/13,ioprofile透过进程发现写入状况,2020/5/13,ioprofile产看IO情况的利器,2020/5/13,ioprofile产看IO情况的利器,2020/5/13,Tcprstat(通过响应时间判断数据库运行状况),每个请求时间在0.9ms25.934ms,2020/5/13,网络利器nicstat(充分了解你的网卡运行状况),wKB/s,OutKB#每秒写的千字节数(transmitted)rMbps,RdMbps#每秒读的百万字节数K(received)%Util#接口的利用率百分比Sat#每秒的错误数,接口接近饱和的一个指标,2020/5/13,dstat充分了解你服务器的状况(vmstat)加强版,rootbbs#dstat-tclmdny1,2020/5/13,mpstat定位你的cpu,QPS在1.1W到1.5W之间波动,2020/5/13,mpstat定位你的cpu,但通过tcprstat观察到,响应时间不是非常稳定,会从0.3ms波动到1.9ms,2020/5/13,mpstat定位你的cpu软中断,taskset-p03700,pid为700的进程绑定到第四颗CPU上面,2020/5/13,vmtouch(iscooltools),一你是不是发现你的cache在疯狂吃掉,明明很大的内存cache了很多,然而却很少free,很可能你备份的数据被cache住了,如何把这部分内存从cache中释放出来,那么万能工具vmtouch出现了。二试图从用户空间管理OS的PagingSpace三还支持把具体的文件,目录cache到pagecache中,加速访问速度,2020/5/13,vmtouch(iscooltools),2020/5/13,vmtouch(iscooltools),2020/5/13,vmtouch(iscooltools),2020/5/13,vmtouch(iscooltools),2020/5/13,oprofile介绍,=oprofile是什么=oprofile也是一个开源的profiling工具,它使用硬件调试寄存器来统计信息,进行profiling的开销比较小,而且可以对内核进行profiling。Oprofile是一个全局的抽样统计工具Oprofile是一种细粒度的工具,可以为指令集或者为函数、系统调用或中断处理例程收集采样。Oprofile通过取样来工作。使用收集到的评测数据,用户可以很容易地找出性能问题。,2020/5/13,oprofile使用场景,cpu无端占用高?应用程序响应慢?苦于没有分析的工具?oprofile利用cpu硬件层面提供的性能计数器(performancecounter),通过计数采样,帮助我们从进程、函数、代码层面找出占用cpu的罪魁祸首。,2020/5/13,Oprofile系统工作流图,2020/5/13,oprofile使用,#加载oprofile内核模块opcontrol-init#我们对内核的取样没兴趣opcontrol-setup-no-vmlinux#在开始收集采样数据前回顾下我们的设置opcontrol-status#清除上一次采样到的数据opcontrol-reset#启动oprofiled守护程序,从内核中拉出采样数据opcontrol-start#运行我们的程序#收集采样数据opcontrol-dump#关闭守护程序,同时准备好采样的数据opcontrol-shutdown,2020/5/13,oprofile获取采样信息,#系统级别的opreport-long-filenames#模块级别的opreportimage:foo-l#源码级别的opannotateimage:foo-s,2020/5/13,oprofile使用,opcontrol-deinitmodprobeoprofiletimer=1$dmesg|grepoprofile|tail-n1(oprofile:usingtimerinterrupt.)opcontrol-resetpcontrol-separate=lib-no-vmlinux-start-image=/home/mysql_user/mysqlhome/bin/mysqldopcontrol-dumpopcontrol-shutdownopreport-l/home/mysql_user/mysqlhome/bin/mysqld,2020/5/13,oprofile诊断你的cpu异常,2020/5/13,relay-fetch加速主从同步,relayfetch是一个开源的mysql备库预热工具,通过解析本地relaylog文件,在SQL线程执行到相应的位置之前预先将其需要的数据块加载到内存中,达到为备库slave线程进行预热的目的。在测试中,relayfetch为备库SQL复制线程带来了2-3倍的复制速度提升。目前已经在淘宝的一些备库延迟较大的线上备库上部署,效果非常明显。目前relayfetch主要支持ROW模式,被预热的表需要有主键或唯一键。,2020/5/13,relay-fetch工作原理图,relayfetch使用多线程,包括1个reader线程和N个worker线程,2020/5/13,relay-fetch工作流程,1.reader线程的执行流程1).读取本地的relaylog文件,获取日志中的事件;2).将row数据解析出来,获得其中的Primarykey值;3).根据Primarykey转换成对应库表的select语句,依次分发给N个队列(N可配置,也表示worker线程数);4).每从relaylog中读取count个事件(50006).goto1)。,2020/5/13,relay-fetch测试,1.测试环境Mysql版本:5.1.48;b)内存8G;CPU:4*2493.749c)操作系统:RedHatEnterpriseLinuxServerrelease5.4;d)使用sysbench,2000W数据。文件大小4.7G;2.测试方案测试relayfetch在不同bufferpoolsize/datasize比例值下,对sql线程执行速度有多大的提升正常情况a)stopslavesql_threadb)运行sysbench(max-requests:1W、2W、4W、6W、8W、10W、12W)c)完成sysbench后startslavesql_threadd)采集数据,等待执行完成Withrelay-fetcha)stopslavesql_threadb)运行sysbenchc)完成sysbench后startslavesql_thread再运行./relayfetch-urootd)采集数据,等待执行完成,2020/5/13,relay-fetch测试,2020/5/13,relay-fetch测试,2020/5/13,relay-fetch测试,2020/5/13,Q&A,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!