性能问题定位工具

性能问题定位工具

1.网速测试

安装iperf

yum install epel-release
从epel源中安装
yum install -y  iperf

带宽检测

iperf -s 开启服务端

iperf -c ip

丢包问题

tcpdump进行抓包

tcpdump -i eth0 -s 3000 port 8080 -w /home/tomcat.pcap

对于抓包文件采用wireshark进行分析

丢包(TCP DUP ACK) 重传(retransmission),超时重传,

2.cdn性能测试

cdn 缓存,回源问题  

304请求,浏览器是否使用本地缓存。比较last_modified 和if_modified_since

通过实践戳来判断,浏览器缓存和cdn缓存

3.DNS基础

路由解析

泛域名解析

4.分布式服务链路追踪

http入口产生一个traceId

分发到rpc调用,cache,db,jms调用链路中

google的著名论文dapper和zipkin

日志聚合,绑定链路日志和业务日志

采样采集,慢请求,异常服务。

日志量大。日志异步写入,环状数组,日志组件自研

共享信息放在ThreadLocal中。比如traceId

5.网卡性能问题定位

tsar -l  -i 1 --traffic
查看网卡的进出流量

6.CPU性能问题定位

tsar -l  -i 1 --cpu

软件问题定位,perf 采样所有进程数据

perf record -F 99 -a -g -- sleep 30

java进程的函数map:java -cp attach-main.jar:$JAVA_HOME/lib/tools.jar net.virtualvoid.perf.AttachOnce PID

输出函数和地址的map

输出火焰图
perf script | stackcollapse-perf.pl | flamegraph.pl --color=java --hash > flamegraph.svg

7.内存性能问题定位

-堆内内存问题,

采用jmap dump内存,采用离线工具分析

jprofile、mat

-堆外内存问题

a.google-perftools

yum install -y google-perftools graphviz

export LD_PRELOAD=/usr/lib64/libtcmalloc.so.4

export HEAPPROFILE=/home/testGperf.prof

执行程序,结束程序,生成prof

分析prof

生成svg, pdf,text
pprof --svg $JAVA_HOME/bin/java testGperf.prof.0001.heap > test.svg

pprof --pdf $JAVA_HOME/bin/java testGperf.prof.0001.heap > test.pdf

pprof --text $JAVA_HOME/bin/java testGperf.prof.0001.heap > test.txt

b.jemalloc定位(优势,适合长时间trace)

sudo apt-get install graphviz
编译安装
./configure --enable-prof --enable-stats --enable-debug --enable-fill
make
make install

运行配置
export MALLOC_CONF="prof:true,prof_gdump:true,prof_prefix:/home/jedump/jez,lg_prof_interval:30,lg_prof_sample:17"

export LD_PRELOAD=/usr/local/lib/libjemalloc.so.2
运行
java -jar target/spring-boot-jemalloc-example-0.0.1-SNAPSHOT.jar

jeprof --show_bytes --svg jez.*.heap > app-profiling.svg

注明:如果在docker容器中,推荐用pprof,jemalloc只显示函数地址,不显示函数名

8.机器资源配额问题

/etc/security/limits.conf

  • soft nofile 65536
  • hard nofile 65536

控制该用户文件句柄数

9.磁盘性能问题定位

tsar -l -i 1 --io

原文地址:https://www.cnblogs.com/zhulongchao/p/7225367.html