pt-ioprofile是属于percona-toolkit中的一个工具,用strace和lsof来查监视进程的IO情况并打印表文件和活动IO,默认监视mysqld进程30秒
警告和风险:
pt-ioprofile可能会冻结服务,crash进程,是进程变得更糟糕,或者使进程休眠。
pt-ioprofile是一个有干扰的工具,一般不用在生产环境中,除非你能理解和接受风险。
格式:
pt-ioprofile [OPTIONS] [FILE]
默认参数:
--aggregate The aggregate function, either C<sum> or C<avg>.
--cell The cell contents.
有三个值:
count Count of I/O operations
sizes Sizes of I/O operations
times I/O operation timing(默认)
--group-by The group-by item.
有三个值:
all Summarize into a single line of output
filename One line of output per filename (默认)
pid One line of output per process ID
--profile-pid The PID to profile, overrides L<"--profile-process">.
#指定监控的进程号
--profile-process The process name to profile.
指定监控的进程名
--run-time How long to profile.
#监控时长,默认30S
--save-samples Filename to save samples in; these can be used for later analysis.
例:
#用sysbench插入测试数据
[root@Darren1 lua]# sysbench --time=20 --threads=4 --mysql-host=localhost --mysql-user=root --mysql-password='147258' --mysql-db=sbtest --tables=10 --table_size=100000 /home/mysql/sysbench-1.0.3/src/lua/oltp_insert.lua prepare
#监控mysqld进程相关的IO:
[root@Darren1 sysbench-1.0.3]# pt-ioprofile --run-time=5
Thu Jun 1 22:46:29 CST 2017
Tracing process ID 5875
total pread read pwrite write fsync open close lseek ftruncate filename
4.774836 2.253120 0.000000 1.855958 0.000000 0.665758 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/ibdata1
0.873437 0.000000 0.000000 0.000000 0.293659 0.000000 0.000000 0.000000 0.000045 0.579733 /data/mysql/mysql3306/data/innodb_status.5875
0.615918 0.000000 0.000000 0.000000 0.000000 0.615918 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/undo001
0.420569 0.420518 0.000000 0.000000 0.000000 0.000051 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/undo002
0.224583 0.000000 0.000000 0.000000 0.000000 0.224583 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/sbtest/sbtest4.ibd
0.033272 0.000000 0.033259 0.000000 0.000000 0.000000 0.000000 0.000000 0.000013 0.000000 /data/mysql/mysql3306/logs/mysql-bin.000035
0.028929 0.000000 0.000000 0.000000 0.000000 0.028929 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/mysql/innodb_index_stats.ibd
0.025752 0.000000 0.000000 0.000000 0.000000 0.025752 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/sbtest/sbtest1.ibd
0.007142 0.000000 0.000000 0.000000 0.000000 0.007142 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/undo003
0.006129 0.000000 0.000000 0.000318 0.000000 0.005811 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/ib_logfile0
0.004302 0.000000 0.000000 0.000000 0.000000 0.004302 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/sbtest/sbtest2.ibd
0.000350 0.000000 0.000152 0.000000 0.000000 0.000000 0.000119 0.000079 0.000000 0.000000 /dev/urandom
0.000180 0.000000 0.000000 0.000000 0.000180 0.000000 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/general.log
0.000135 0.000000 0.000000 0.000000 0.000000 0.000135 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/sbtest/sbtest3.ibd
0.000053 0.000000 0.000000 0.000000 0.000000 0.000053 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/mysql/innodb_table_stats.ibd
0.000030 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000030 0.000000 /data/mysql/mysql3306/tmp/ib49MzXQ
0.000024 0.000000 0.000000 0.000000 0.000024 0.000000 0.000000 0.000000 0.000000 0.000000 /data/mysql/mysql3306/data/error.log
本文转自 Darren_Chen 51CTO博客,原文链接:http://blog.51cto.com/darrenmemos/1931554,如需转载请自行联系原作者