mysql性能优化 洪斌_MySQL性能诊断与实践 洪斌 PHPCON2018
1. MySQLᚆෙӨਫ᪢ ၒ්
2. य़ᕐ • ԧᥴํىᚆෙጱොဩ • ՕᕨӞԶᥡၥૡٍአဩ • ړՁӷӻໜֺ
3. پӻਧ • Little’s Law (queueing theory) • Amdahl’s Law (1967) • Universal Scalability Law (1993)
4. ᭗አොဩ • USE(Utilization Saturation and Errors) • ᅉᆎࢶon-cpu & off-cpu • ᥡၥૡٍஉ᯿ᥝ • चᕚྲ
5. MySQL֛ᔮᕮ
6. ள᭛ෙ • top ڣෙԆᨮఘ ٭ • dmesg tail ฎࣁਂވoom-killer tcp dropᒵᲙ ௳מ • vmstat 1 ༄ັr̵free̵si̵so̵us, sy, id, wa, st ڜ • mpstat -P ALL 1 ༄ັCPUֵአሲฎ࣐ވᤍ • pidstat 1 ༄ັᬰᑕጱCPUֵአሲ҅ग़໐ڥአఘ ٭ • iostat -xz 1 ༄ັr/s, w/s, rkB/s, wkB/s, await, avgqu-sz, %util • free -m ༄ັٖਂֵአఘ ٭ • sar -n DEV 1 ༄ັᗑᕶݺރᰁ • sar -n TCP,ETCP 1 ༄ັtcpᬳളఘ٭active/s, passive/s, retrans/s
7. MySQLෙૡٍ • error log & slow log & general log • MySQL SHOW [SESSION GLOBAL] STATUS • SHOW PROCESSLIST • InnoDB ਂؙකᇫா SHOW ENGINE INNODB STATUS • Explain ັ፡ಗᤈᦇ ښ • performance schema
8. ෙྍṈ 1. ༄ັᔮᕹقੴᩒრᨮ 2. ༄ັMySQLᲙ෭ப 3. ༄ັMySQLࣁ؉Ջԍ 4. ༄ັInnoDBԪۓఘ ٭ 5. ༄ັMySQL॔ګᇫா
9. InnoDB • InnoDBᤒᶳํԆᲫࠔӞᔱ SELECT t.table_schema, t.table_name FROM information_schema.tables t LEFT JOIN information_schema.table_constraints c ON (t.table_schema = c.table_schema AND t.table_name = c.table_name AND c.constraint_type IN ('PRIMARY KEY','UNIQUE')) WHERE t.table_schema NOT IN ('mysql','information_schema', ‘performance_schema') AND t.engine = ‘InnoDB' AND c.table_name IS NULL; • ԆᲫଫֵአੜහഝᔄࣳӬํଧ • عय़Ԫ(ۓᬩᤈᳵᳩݒๅᦕ୯ग़) SELECT a.requesting_trx_id 'ᤩᴥलԪۓID' ,b.trx_mysql_thread_id 'ᤩᴥलᕚᑕID', TIMESTAMPDIFF(SECOND,b.trx_wait_started,NOW()) ‘ᤩᴥलᑁහ', b.trx_query 'ᤩᴥलጱ 'ݙ, a.blocking_trx_id 'ᴥलԪۓID' ,c.trx_mysql_thread_id 'ᴥलᕚᑕID',d.INFO 'ᴥलԪ '௳מۓFROM information_schema.INNODB_LOCK_WAITS a INNER JOIN information_schema.INNODB_TRX b ON a.requesting_trx_id=b.trx_id INNER JOIN information_schema.INNODB_TRX c ON a.blocking_trx_id=c.trx_id INNER JOIN information_schema.PROCESSLIST d ON c.trx_mysql_thread_id=d.ID ;
10. ᯿ᥝ݇හ • max_connection • innodb_buffer_pool_size • Innodb_flush_neighbors • Innodb_io_capacity • Innodb_log_file_size • innodb_thread_concurrency
11. SQLս۸
12. Note • ս۸ጱ໐ஞ੪ฎ“؉Ԫ” • ۯڔፖፓ᭄๋սᯈᗝཛྷ • عᬦս۸
13. BPFฎՋԍ • BPF = Berkeley Packet Filter • The Berkeley Packet Filter (BPF) provides a raw interface to data link layers, permitting raw link-layer packets to be sent and received. • Since version 3.18, the Linux kernel includes an extended BPF virtual machine, termed extended BPF (eBPF). It can be used for non-networking purposes http://www.tcpdump.org/papers/bpf-usenix93.pdf
14. ڹկ • Linux kernel 4.4+ (വគ 4.9+ ) • ਞᤰBcc https://github.com/iovisor/bcc/blob/master/ INSTALL.md • MySQL ᖫᦲ -DENABLE_DTRACE=1 & ਞᤰ systemtap- sdt-devel
15. Bcc ૡٍᓟ 1. execsnoop 2. opensnoop 3. ext4slower 4. biolatency 5. biosnoop 6. cachestat 7. tcpconnect 8. tcpaccept 9. tcpretrans 10. gethostlatency 11. runlat 12. profile
16. Query᬴ړ
17. ౌQueryಬݐ
18. VFS ᬴ړຉ
19. Ext4 ᬴ړຉ
20. ࣘᦡ᬴॓ړຉ
21. MySQLկIOܴړێຉ
22. ԁᤒկኞޮ๗ᥡၥ
23. Ꭸᬳളړຉ
24. ໜֺ1 ݎғMySQLහഝପெԍளౌ҅ՋԍܻࢩҘ • Ջԍᔄࣳጱ᧗ౌ҅ັᧃҘٟفҘӻڦҘق᮱Ҙ • ڥአUSEොဩ༄ັᔮᕹᩒრ • ༄ັMySQL ᕚᑕᇫாਂؙකᇫா
25. ໜֺ2 xtrabackupӧฎᅾ॓ԍ҅ெԍᬮտफ֘ӱۓ thread_list=$(gdb -p $1 -q -batch -ex 'info threads' awk '/mysqld/{print $1}' grep -v '*' sort -nk1) for i in $thread_list; do echo ">>>>> thread $i <<<<:thd->command::thd->thread_id' -ex 'p do_command::thd>global_read_lock' grep -B3 GRL_ACQUIRED_AND_BLOCKS_COMMIT` if [[ $grl =~ 'GRL_ACQUIRED_AND_BLOCKS_COMMIT' ]]; then echo "$grl" ; break fi done
26. PHPCON ਥᗑғwww.phpconchina.com ق᮱ PPT ӥғhttps://github.com/ThinkDevelopers/PHPConChina ਥොQQᗭғ34449228̵135615537 ਥොلռݩғThinkInLAMP
mysql性能优化 洪斌_MySQL性能诊断与实践 洪斌 PHPCON2018相关推荐
- mysql性能优化简书_MySQL性能优化
1.合理的创建及使用索引,索引不宜过多,过多的索引会占用更多的空间,而且每次增.删.改操作都会重建索引. 2.合理的冗余字段(尽量建一些大表,考虑数据库的三范式和业务设计的取舍). 3.select语 ...
- 前端性能优化(一)性能优化的指标和工具
前端性能优化(一)性能优化的指标和工具 一.性能指标 1. F12 network进行调试,我们以淘宝为例 2. 此外还有一个瀑布流的概念 waterfall 3.蓝线和红线 4.保存当前网页指标,方 ...
- 【Linux 性能优化系列】Linux 性能优化 -- CPU 性能篇(三) Linux 软中断
[Linux 性能优化系列]Linux 性能优化 -- CPU 性能篇(三) Linux 软中断 [1]相关概念 [1.1]中断 中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力:为了减少 ...
- 【Linux 性能优化系列】Linux 性能优化 -- CPU 性能篇(一) 平均负载、上下文切换、CPU 使用率
[Linux 性能优化系列]Linux 性能优化 -- CPU 性能篇(一) 平均负载.上下文切换.CPU 使用率 [1]相关概念 [1.1]平均负载 平均负载是指单位时间内,系统处于可运行状态和不可 ...
- mysql属性配置提高查询_MYSQL性能优化-安装时优化参数配置提高服务性能
MYSQL性能优化一直是个头痛的问题,目前大多都是直接把页面html静态页面或直接使用了缓存技术,下面我就mysql本身的性能优化来分享一下. 安装时优化参数配置提高服务性能 在Linux下安装Mys ...
- mysql 非自然月统计_MySQL性能优化 — 实践篇1
点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章. 本文 GitHub org_hejianhui/JavaStudy 已收录,有我的系列文章. 前言 MySQL索引底层数据结构与算 ...
- MySQL性能优化(八):数据库性能诊断工具
一.mysqltuner.pl 1.1工具的下载及部署 解决环境依赖,因为工具是perl脚本开发的,需要perl脚本环境 yum install -y perl* 1.2下载脚本 在http://my ...
- mysql 压力测试知乎_MySQL性能基准测试对比:MySQL 5.7与MySQL 8.0
版权声明:本文由腾讯云数据库产品团队整理,页面原始内容来自于db weekly英文官网,若转载请注明出处.翻译目的在于传递更多全球最新数据库领域相关信息,并不意味着腾讯云数据库产品团队赞同其观点或证实 ...
- mysql索引优化实际例子_MySQL索引优化的实际案例分析
Order by desc/asc limit M是我在mysql sql优化中经常遇到的一种场景,其优化原理也非常的简单,就是利用索引的有序性,优化器沿着索引的顺序扫描,在扫描到符合条件的M行数据后 ...
- 3 .前端性能优化-使用Lighthouse测试性能
一.准备 https://developer.chrome.com/docs/devtools/speed/get-started/https://developer.chrome.com/docs/ ...
最新文章
- 【案例】城市地址三级联动
- Java 查看文件绝对路径,JAVA获取文件绝对路径的方法
- OpenGL vs D3D
- 终极利器|一篇文章讲清楚Python虚拟环境
- Django从理论到实战(part30)--Meta配置
- 进阶清单 | 这份码农修炼指南,助你掌控全场
- 面试精讲之面试考点及大厂真题 - 分布式专栏 02 了解大厂面试基本套路及每一轮的重点
- 万年历查询系统理解与功能增添
- “pip不是内部或外部命令,也不是可运行的程序或批处理文件” 到底有多么神秘
- Mac系统下安装webpack,cnpm,vue-cli
- SQL按字段分组取最大(小)值记录(重复记录)
- C++的性能C#的产能?! - .Net Native 系列向导
- 综述|线结构光中心提取算法研究
- Linux修改http为https访问
- 黑马点评项目-优惠券秒杀
- android市场低迷,销量低迷 安卓厂商mini产品或面临策略调整
- python 正数变成负数_初一数学上册第一章有理数1.1正数和负数基础知识概括及同步练习题含解析...
- Android - 接收、监听系统短信广播
- Python开发 CDN查询子域名查询
- 欧瑞变频器故障码表_尼得科变频器故障代码处理一览表