博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高性能MySQL-3rd-(三)服务器性能剖析
阅读量:6431 次
发布时间:2019-06-23

本文共 1130 字,大约阅读时间需要 3 分钟。

hot3.png

/* *  --------------------------------------------------------  *     高性能MySQL-3rd-Baron Schwartz-笔记   *     第三章 服务器性能剖析  */  --------------------------------------------------------

3.1 性能优化简介

    本书中将MySQL性能定义为完成某件任务所需要的时间,而不是每秒查询次数、CPU利用率等方面;本书中默认向MySQL发送的一切命令都称为查询,诸如 SELECT/UPDATE/DELETE等等。

    如果认为性能是响应时间,那么我们的目标就是降低响应时间,降低每个查询的响应时间,那么第二个问题,就是先搞清楚时间花在哪里,即测量时间花在什么地方,无法测量就无法有效优化。

    注意,测量范围不要搞错,如出现慢查询,就应该测量或解决慢查询,不应该去排查整个服务器的状况;另外,查询的时间包括等待时间和执行时间,一般处理和解决执行时间,等待时间长的原因很复杂。

    通过工具可以显示性能剖析的结果,但注意很多情况是通过结果发现不了的,注意寻找哪些是值得优化的查询、哪些发生了异常、还有很多被隐藏的细节(如平均响应时间很小,但的确存在1~2个真正耗时的慢查询)

3.2 对应用程序进行性能剖析

     除了对MySQL服务器进行性能剖析,还有必要对应用程序本身做性能剖析,比如PHP程序;值得注意的是性能剖析也会使服务器变慢,但相对剖析程序所做得贡献来说,那点消耗已经无所谓;

    推荐了进行PHP性能剖析的工具,xhprof、Ifp等,不用重新发明“轮子”。

3.3 剖析MySQL查询

    对查询的剖析有两种方式,一种是剖析整个MySQL服务器负载,一种是剖析单条语句查询;

    剖析服务器负载,可以通过MySQL提供的慢查询日志,现在通过设置 long_query_time 可以将粒度设置到微妙级别;MySQL提供的慢查询日志是开销最低、精度最高的测试查询时间的工具。新浪的SAE就提供针对MySQL的慢查询日志。

    剖析单条查询,使用 SHOW PROFILES、SHOW STATUS、查询慢查询日志的条目。先执行一条查询,然后使用 SHOW PROFILES 查看查询执行的时间,然后使用 SHOW PROFILE WHERE QUERY 1,显示该条查询执行的过程,及每个过程所话费的时间,经过排序后,就可以知道 查询把时间花在那个过程上了。    

3.4 诊断间歇性问题

3.5 其他剖析工具

3.6 总结

转载于:https://my.oschina.net/zhmsong/blog/187869

你可能感兴趣的文章
我见过的几种类型的员工(转)
查看>>
web前端的十种jquery特效及源码下载
查看>>
poj 3414 Pots (bfs+线索)
查看>>
Binary search
查看>>
http://jingyan.baidu.com/article/08b6a591f0fafc14a9092275.html
查看>>
MySQL查询数据表的Auto_Increment(自增id)
查看>>
java多线程系类:JUC集合:01之框架
查看>>
【Linux】 源码安装make命令详解,避免踩坑
查看>>
数据库中间表插入乱序
查看>>
[Python爬虫] 之四:Selenium 抓取微博数据
查看>>
使用OPENROWSET爆破SQL Server密码
查看>>
Mac_安装Homebrew以及Maven
查看>>
eclipse web开发Server配置
查看>>
曹政--互联网搜索老师傅
查看>>
MUI框架开发HTML5手机APP(一)--搭建第一个手机APP(转)
查看>>
linux下使用 du查看某个文件或目录占用磁盘空间的大小
查看>>
Android水波纹特效的简单实现
查看>>
MugLife静态照片变3D动画算法研究
查看>>
【java】Could not find or load main class
查看>>
[wp7软件]wp7~~各种视频播放器下载大全
查看>>