加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Linux-perf-分析MySQL数据库slaveSQL进程运行缓慢

(2019-08-06 16:11:41)
分类: Linux
MySQL Slave lag很高,逐渐增加,表面现象是slave sql进程很慢,从MySQL角度已经找到原因,在此通过perf验证。

perf是一款Linux性能分析工具。Linux性能计数器是一个新的基于内核的子系统,它提供一个性能分析框架,比如硬件(CPU、PMU(Performance Monitoring Unit))功能和软件(软件计数器、tracepoint)功能。通过perf,应用程序可以利用PMU、tracepoint和内核中的计数器来进行性能统计。它不但可以分析制定应用程序的性能问题(per thread),也可以用来分析内核的性能问题。

以下是安装和使用perf:
download perf soft,upload /home/dba
https://centos.pkgs.org/7/centos-x86_64/perf-3.10.0-957.el7.x86_64.rpm.html


[root@f08-kk-mysql02 yum.repos.d]#
[root@f08-kk-mysql02 yum.repos.d]# cd /home
[root@f08-kk-mysql02 home]# cd dba
[root@f08-kk-mysql02 dba]# ls
1.txt  autoquery.sql  mysqldb02-slow.log  perf-3.10.0-957.el7.x86_64.rpm  query.sql  zabbix-agent-3.4.9-1.el7.x86_64.rpm  zabbix_agentd.conf
[root@f08-kk-mysql02 dba]# ls -l
total 9804
-rw-rw-r-- 1 dba  dba        0 Aug  5 16:27 1.txt
-rw-rw-r-- 1 dba  dba     5204 May 31 19:19 autoquery.sql
-rw-r----- 1 dba  dba   722897 Aug  5 10:25 mysqldb02-slow.log
-rw-rw-r-- 1 dba  dba  8910888 Aug  6 11:24 perf-3.10.0-957.el7.x86_64.rpm
-rw-r--r-- 1 root root    1976 May 31 23:25 query.sql
-rw-rw-r-- 1 root root  372920 May 31 16:14 zabbix-agent-3.4.9-1.el7.x86_64.rpm
-rw-rw-r-- 1 root root   10604 May 31 16:14 zabbix_agentd.conf
[root@f08-kk-mysql02 dba]# rpm -ivh perf-3.10.0-957.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:perf-3.10.0-957.el7              ################################# [100%]



[root@f08-kk-mysql02 dba]# perf top
Samples: 19K of event 'cycles:ppp', Event count (approx.): 13810545003
Overhead  Shared Object         Symbol
   7.31%  mysqld                [.] btr_search_guess_on_hash
   5.63%  mysqld                [.] buf_page_get_gen
   5.63%  libc-2.17.so          [.] __strcmp_sse42
   5.61%  mysqld                [.] rec_get_offsets_func
   4.52%  libc-2.17.so          [.] _int_malloc
   4.05%  mysqld                [.] row_vers_impl_x_locked
   3.90%  mysqld                [.] dict_table_copy_types
   3.44%  mysqld                [.] cmp_dtuple_rec_with_match_low
   2.64%  mysqld                [.] row_build_low
   2.56%  libc-2.17.so          [.] __strrchr_sse42
   2.52%  mysqld                [.] mem_heap_create_block_func
   2.23%  mysqld                [.] trx_undo_prev_version_build
   2.16%  libc-2.17.so          [.] _int_free
   2.02%  mysqld                [.] trx_undo_update_rec_get_update
   1.91%  mysqld                [.] lock_rec_convert_impl_to_expl
   1.85%  mysqld                [.] PolicyMutex >::enter
   1.57%  mysqld                [.] ut_new_get_key_by_file
   1.54%  mysqld                [.] mtr_t::Command::release_all
   1.44%  libc-2.17.so          [.] malloc
   1.44%  mysqld                [.] PolicyMutex >::exit
   1.39%  mysqld                [.] buf_page_get_known_nowait
   1.34%  mysqld                [.] row_build_index_entry_low
   1.32%  mysqld                [.] lock_sec_rec_read_check_and_lock
   1.31%  mysqld                [.] buf_block_from_ahi
   1.18%  mysqld                [.] pfs_start_mutex_wait_v1
   1.18%  mysqld                [.] buf_page_make_young_if_needed
   1.09%  mysqld                [.] btr_search_s_unlock
   1.08%  mysqld                [.] mem_heap_block_free
   1.06%  mysqld                [.] row_search_mvcc
   1.04%  mysqld                [.] trx_undo_get_undo_rec_low
   0.99%  mysqld                [.] mtr_t::start
   0.93%  mysqld                [.] row_get_clust_rec
   0.92%  mysqld                [.] btr_cur_search_to_nth_level
   0.84%  mysqld                [.] lock_rec_lock
   0.82%  mysqld                [.] pfs_unlock_mutex_v1
   0.81%  mysqld                [.] mtr_t::Command::release_resources
   0.79%  mysqld                [.] ut_basename_noext
   0.75%  mysqld                [.] pfs_start_rwlock_wait_v1
   0.75%  mysqld                [.] strcmp@plt
   0.72%  mysqld                [.] pfs_memory_alloc_v1
   0.71%  mysqld                [.] row_build_row_ref
   0.67%  libc-2.17.so          [.] __memmove_ssse3_back
   0.63%  mysqld                [.] btr_search_check_guess
   0.63%  mysqld                [.] row_upd_changes_field_size_or_external
   0.58%  mysqld                [.] row_upd_rec_in_place
   0.48%  mysqld                [.] dict_index_get_nth_field_pos
   0.48%  mysqld                [.] pfs_unlock_rwlock_v1
   0.47%  mysqld                [.] dict_index_copy_types
   0.47%  mysqld                [.] mtr_t::commit
   0.44%  mysqld                [.] rw_lock_s_lock_low
   0.44%  mysqld                [.] trx_undo_rec_get_pars
   0.42%  mysqld                [.] find_memory_class
   0.39%  mysqld                [.] trx_undo_update_rec_get_sys_cols
   0.39%  mysqld                [.] PolicyMutex >::exit
   0.39%  mysqld                [.] row_unlock_for_mysql
   0.38%  mysqld                [.] row_search_on_row_ref
   0.36%  mysqld                [.] mem_heap_dup
   0.35%  mysqld                [.] sel_set_rec_lock
   0.35%  mysqld                [.] rw_lock_s_lock_func
   0.31%  mysqld                [.] PolicyMutex >::enter
For a higher level overview, try: perf top --sort comm,dso

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有