【高性能MySQL】读书摘录2-第三章、服务器性能剖析

第3章、服务器性能剖析

1、本书所说的性能主要是指“完成某个任务所需要的时间度量”,而相应的优化则是指降低查询执行的时间,从而提升单位时间的查询量。

2、性能剖析一般分为两个步骤,测量任务花费的时间,然后对结果进行统计的排序,将重要的任务排在前边。两种类型的性能剖析:基于执行时间的性能剖析和基于等待的分析。前者用于分析研究什么任务的执行时间最长,而基于等待的分析则是判断任务在什么地方被阻塞的时间最长。

3、性能优化应该优先对占用比重最大的一些查询进行优化。某些查询的执行次数很少,但是

4、TODO,应用xhprof等工具对PHP进行性能分析。

5、可以通过LOAD DATA INFILE将Apache的日志载入到MySQL中,然后通过SQL进行查询。

6、剖析MySQL查询

         剖析服务器负载:

(1)      捕获MySQL查询到日志中(不仅可以捕获慢查询,而且通过设置long_query_time=0来捕获所有的查询。慢查询日志是开销最低、精度最高的测量查询时间的工具。慢查询日志带来的I/O开销可以忽略不计,说明开启慢查询日志基本不会影响服务器的性能,相反,需要担心的是慢查询日志带来的大量磁盘空间消耗。如果长期开启慢查询日志,注意要部署日志轮转(log rotation工具),防止单个日志的大小过大)

(2)      分析查询日志。pt-query-digest工具:

http://www.bitscn.com/pdb/mysql/201407/226145.html

http://blog.csdn.net/seteor/article/details/24017913

7、剖析单条查询

(1)          Show Profiles

         更新的版本中可能PerformanceSchema替代。这个工具可以在语句执行期间剖析服务器的具体工作。(注意你的MySQL服务器如果编译的时候没有开启with-profiling,那么无法使用show profiles,也无法在information_schema库的profiling表中查到profiling的相关数据)

(2)          Show Status

         showstatus返回一些计数器,既有服务器级别的全局计数器,也有基于某个连接的会话级别的计数器。explain查看查询的执行计划也可以获得大部分的信息,但是explain是通过评估得到的结果,而通过计数器则是实际的测量结果。TODO: explain和show status的更多细节

(3)          使用Performance Schema

8、诊断间歇性问题。

         <1>、Show GlobalStatus

         <2>、ShowProcesslist

         mysql–e 'SHOW PROCESSLIST\G' | grep State: | sort|uniq –c | sort –rn

         <3>、使用查询日志(开启慢查询日志并设置long_query_time=0)

 

pt-summary和pt-mysql-summary工具获取服务器的状态、参数配置和软硬件环境

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值