pull/216/head
midoks 3 years ago
parent ef75f22a86
commit 01e388ea45
  1. 13
      plugins/op_waf/t/ngx_debug.sh
  2. 14
      plugins/op_waf/t/ngx_demo.sh
  3. 63
      plugins/op_waf/t/test.sh

@ -14,6 +14,13 @@ pid=`ps -ef|grep openresty | grep -v grep | awk '{print $2}'`
name=$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 if [ ! -d /opt/openresty-systemtap-toolkit ];then
cd /opt && git clone https://github.com/openresty/openresty-systemtap-toolkit cd /opt && git clone https://github.com/openresty/openresty-systemtap-toolkit
fi 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 >t1.bt
/opt/openresty-systemtap-toolkit/fix-lua-bt temp.bt >${name}.bt /opt/openresty-systemtap-toolkit/fix-lua-bt temp.bt >${name}.bt
elif [ $1 == "c" ]; then 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 /opt/openresty-systemtap-toolkit/sample-bt -p $pid -t 10 -u > ${name}.bt
else else
echo "type is only lua/c" echo "type is only lua/c"
exit exit
fi 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/stackcollapse-stap.pl ${name}.bt >${name}.cbt
/opt/FlameGraph/flamegraph.pl ${name}.cbt >${name}.svg /opt/FlameGraph/flamegraph.pl ${name}.cbt >${name}.svg
rm -f temp.bt ${name}.bt ${name}.cbt rm -f temp.bt ${name}.bt ${name}.cbt

@ -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

@ -7,8 +7,69 @@ export PATH
# ab -c 1000 -n 1000000 http://www.zzzvps.com/ # ab -c 1000 -n 1000000 http://www.zzzvps.com/
# /cc https://www.zzzvps.com/ 120 # /cc https://www.zzzvps.com/ 120
# ab -c 10 -n 1000 http://t1.cn/wp-admin/index.php # 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 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

Loading…
Cancel
Save