1、性能优化简介
首先,我们将性能定义为完成某件任务所需要的时间,简言之,性能即响应时间。
所谓性能优化就是在一定的工作负载下尽可能地降低响应时间。(吞吐量是单位时间内的查询数量,所以性能优化也可以说成提升吞吐量)
接着,要知道的一点是,有效测量才能有效优化。
通过性能剖析进行有效地性能优化:
2、通过pt-query-digest进行性能剖析
(1)pt-query-digest安装
官网安装包下载地址:https://www.percona.com/downloads/percona-toolkit/LATEST/
这里我们直接配置yum源来安装
[root@relay3.mobvista.com:101.251.254.6 ~]#vim /etc/yum.repos.d/percona.repo
[percona]
name = CentOS $releasever - Percona
baseurl=http://repo.percona.com/centos/$releasever/os/$basearch/
enabled = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-percona
gpgcheck = 0
[root@relay3.mobvista.com:101.251.254.6 ~]#yum install percona-toolkit //安装percona-toolkit工具包
[root@relay3.mobvista.com:101.251.254.6 ~]#pt-
pt-align pt-find pt-mext pt-secure-collect pt-summary
pt-archiver pt-fingerprint pt-mongodb-query-digest pt-show-grants pt-table-checksum
pt-config-diff pt-fk-error-logger pt-mongodb-summary pt-sift pt-table-sync
pt-deadlock-logger pt-heartbeat pt-mysql-summary pt-slave-delay pt-table-usage
pt-diskstats pt-index-usage pt-online-schema-change pt-slave-find pt-upgrade
pt-duplicate-key-checker pt-ioprofile pt-pmp pt-slave-restart pt-variable-advisor
pt-fifo-split pt-kill pt-query-digest pt-stalk pt-visual-explain
percona-toolkit工具包中提供了很多可用工具,包括pt-query-digest
其他的一些可用工具可以参考官网:官网链接
(2)开启慢查询
mysql> show variables like '%slow_query%';
+---------------------+---------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------+
| slow_query_log | OFF | //未开启慢查询
| slow_query_log_file | /var/run/mysqld/mysqld-slow.log | //慢查询日志
+---------------------+---------------------------------+
2 rows in set (0.00 sec)
mysql> show variables like 'long_query_time';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 | //超过10s记录
+--------