测试步骤:
1,运行tpcds单流,10t数据量
执行:
cd litf/tpcds/sqlperf/projar/
nohup ./runallquery_custom.sh >singlequery_240g_dy_test_trace_10t 2>&1 &
记录进程号 1270599
2,使用perf记录全局进程
#记录全局调用
nohup perf record -s -T --running-time -p 900263 &
#记录sendfile调用
nohup perf record -s -T --running-time -e syscalls:sys_enter_sendfile64 -p 1270599 &
单流作业运行完成后,perf record会在执行目录下生成perf.data结果文件
在存在perf.data目录下执行:
perf report -T -D
打开结果文件:
执行
-O + 路径及文件名
# 输入路径及文件名,将结果输出至本地文本文件,便于统计。
统计出tpcds全局整体调用及sendfile调用的事件数和执行时间。
3,使用perf统计单个executor进程
tpcds执行过程中,统计单个executor进程:3201586
#记录全局调用
nohup perf record -s -T --running-time -p 3201586 &
#记录sendfile调用
nohup perf record -s -T --running-time -e syscalls:sys_enter_sendfile64 -p 3201586 &
该executor进程结束后,perf record会在执行目录下生成perf.data结果文件
在存在perf.data目录下执行:
perf report -T -D
打开结果文件:
执行
-O + 路径及文件名
# 输入路径及文件名,将结果输出至本地文本文件,便于统计。
统计time running的次数,即为事件数,time running 总和为执行时间。
测试结果
TPCDS |
全局 |
单个executor进程 |
||||
sendfile |
整体调用 |
占比 |
sendfile |
整体调用 |
占比 |
|
事件数 |
771 |
1423 |
54.18% |
440 |
515 |
85.44% |
执行时间(s) |
1720 |
1853 |
92.82% |
19252 |
20571 |
93.59% |