From 01e388ea4576494ddb5edb5c962f71afb64a341d Mon Sep 17 00:00:00 2001 From: midoks Date: Thu, 13 Oct 2022 03:12:44 +0800 Subject: [PATCH] up --- plugins/op_waf/t/ngx_debug.sh | 13 ++++++++ plugins/op_waf/t/ngx_demo.sh | 14 ++++++++ plugins/op_waf/t/test.sh | 63 ++++++++++++++++++++++++++++++++++- 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 plugins/op_waf/t/ngx_demo.sh diff --git a/plugins/op_waf/t/ngx_debug.sh b/plugins/op_waf/t/ngx_debug.sh index e0da0a666..e29a97da3 100644 --- a/plugins/op_waf/t/ngx_debug.sh +++ b/plugins/op_waf/t/ngx_debug.sh @@ -14,6 +14,13 @@ pid=`ps -ef|grep openresty | grep -v grep | awk '{print $2}'` name=$2 + +# /opt/openresty-systemtap-toolkit/ngx-active-reqs -p 496435 + +# /opt/openresty-systemtap-toolkit/sample-bt -p 496435 -t 5 -k > a.bt + + + if [ ! -d /opt/openresty-systemtap-toolkit ];then cd /opt && git clone https://github.com/openresty/openresty-systemtap-toolkit fi @@ -28,12 +35,18 @@ if [ $1 == "lua" ]; then # /opt/openresty-systemtap-toolkit/fix-lua-bt temp.bt >t1.bt /opt/openresty-systemtap-toolkit/fix-lua-bt temp.bt >${name}.bt elif [ $1 == "c" ]; then + # /opt/openresty-systemtap-toolkit/sample-bt -p 496435 -t 10 -u > t2.bt /opt/openresty-systemtap-toolkit/sample-bt -p $pid -t 10 -u > ${name}.bt else echo "type is only lua/c" exit fi + + +# /opt/FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded +# /opt/FlameGraph/flamegraph.pl perf.folded > perf.svg + /opt/FlameGraph/stackcollapse-stap.pl ${name}.bt >${name}.cbt /opt/FlameGraph/flamegraph.pl ${name}.cbt >${name}.svg rm -f temp.bt ${name}.bt ${name}.cbt diff --git a/plugins/op_waf/t/ngx_demo.sh b/plugins/op_waf/t/ngx_demo.sh new file mode 100644 index 000000000..dbf6527cd --- /dev/null +++ b/plugins/op_waf/t/ngx_demo.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +# cd /www/server/mdserver-web/plugins/op_waf/t && sh ngx_demo.sh + +# cd /www/wwwroot/dev156.cachecha.com && sh ngx_demo.sh + +pid=`ps -ef|grep openresty | grep -v grep | awk '{print $2}'` + +perf record -F 99 -p $pid -g -- sleep 60 + + +perf script -i perf.data &> perf.unfold +/opt/FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded +/opt/FlameGraph/flamegraph.pl perf.folded > perf.svg \ No newline at end of file diff --git a/plugins/op_waf/t/test.sh b/plugins/op_waf/t/test.sh index a8c633360..cb486275d 100755 --- a/plugins/op_waf/t/test.sh +++ b/plugins/op_waf/t/test.sh @@ -7,8 +7,69 @@ export PATH # ab -c 1000 -n 1000000 http://www.zzzvps.com/ # /cc https://www.zzzvps.com/ 120 # ab -c 10 -n 1000 http://t1.cn/wp-admin/index.php -# ab -c 1000 -n 1000000 http://www.zzzvps.com/ +# ab -c 1000 -n 1000000 http://dev156.cachecha.com/ python3 index.py +# 安装 火焰图 +# sudo apt install elfutils +# sudo apt-get build-dep systemtap +# systemtap +# stap -e 'probe kernel.function("sys_open") {log("hello world") exit()}' +# stap -v -e 'probe vfs.read {printf("read performed\n"); exit()}' + + +# yum -y kernel-devel kernel-headers gcc elfutils +# stap -ve 'probe begin { log("hello systemtap!") exit() }' +stap -e 'probe vfs.add_to_page_cache {printf("dev=%d, devname=%s, ino=%d, index=%d, nrpages=%d\n", dev, devname, ino, index, nrpages )}' +# git clone https://github.com/openresty/openresty-systemtap-toolkit +# http://openresty.org/en/build-systemtap.html + +# ./configure --prefix=/opt/stap --disable-docs --disable-publican --disable-refdocs CFLAGS="-g -O2" + +# apt-get install systemtap linux-image-`uname -r`-dbg linux-headers-`uname -r` +# /usr/share/doc/systemtap/README.Debian +# ./ngx-active-reqs -p 383774 + + +wget -O kernel-debuginfo-$(uname -r).rpm http://debuginfo.centos.org/8/x86_64/kernel-debuginfo-$(uname -r).rpm + +wget -O kernel-debuginfo-4.18.0-348.el8.x86_64.rpm http://debuginfo.centos.org/8/x86_64/Packages/kernel-debuginfo-4.18.0-348.el8.x86_64.rpm +wget -O kernel-debuginfo-common-x86_64-4.18.0-348.el8.x86_64.rpm http://debuginfo.centos.org/8/x86_64/Packages/kernel-debuginfo-common-x86_64-4.18.0-348.el8.x86_64.rpm + +rpm -ivh kernel-debuginfo-4.18.0-348.el8.x86_64.rpm +rpm -ivh kernel-debuginfo-common-x86_64-4.18.0-348.el8.x86_64.rpm +# uname -r + +# yum install kernel-devel-4.18.0-358.el8.x86_64 +# yum install kernel-debuginfo-4.18.0-358.el8.x86_64 + +yum search kernel-debuginfo +kernel-devel + +rpm -ivh kernel-debuginfo-4.18.0-358.el8.x86_64 +# yum install systemtap -y +# yum install perf -y + + +# perf record -F 99 -p 4452 -g -o test.data -- sleep 100 + + +perf record -F 99 -p 153145 -g -o test.data -- sleep 100 + +perf script -i test.data &> perf.unfold +./FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded +./FlameGraph/flamegraph.pl perf.folded > perf.svg + +# +# git clone https://github.com/brendangregg/FlameGraph.git + +# git clone https://github.com/openresty/openresty-systemtap-toolkit +# ps -ef|grep openresty | grep -v grep | awk '{print $2}' +# ./ngx-active-reqs -p 153145 + + + + +