社区电商系统架构之技术架构验证篇2

本篇继续上篇内容

 

iostat

 

rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包

 

 

jstatd 远程调试

jstatd -J-Djava.security.policy=pstat.policy -J-Djava.rmi.server.logCalls=true

 

more pstat.policy
grant codebase "file:/home/csb/jdk1.7.0_25/lib/tools.jar" {
permission java.security.AllPermission;
};

 

查文件句柄


lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more

 

 

查线程树

pstack pid

 

 

其它命令

 

vmstat
pidstat -d -t -p 7890
sar -n ALL 1 2
sar -n DEV 2 10

netstat -nat |awk '{print $6}'|sort|uniq -c --查总共打开的tcp连接
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
netstat -s
netstat -nat |awk '{print $6}'

 

top命令

top - 20:31:44 up 106 days, 17:18, 2 users, load average: 0.18, 0.22, 0.22
Tasks: 142 total, 1 running, 141 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.1%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8199588k total, 7890008k used, 309580k free, 564108k buffers
Swap: 16777212k total, 28k used, 16777184k free, 5380216k cached


PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5100 root 20 0 153m 8136 4176 S 0.3 0.1 19:50.44 snmpd
1 root 20 0 10416 696 584 S 0.0 0.0 1:30.83 init
 
sy:系统调用,如果高,针对Java应用,一般表现为线程切换的多。
wa :io 等待时间
us :cpu时间
 

linux分析jvm cpu占用高问题

查Jvm进程各线程cpu占用情况

top -Hp 26126 -d 1 -n 1
ps mp 56014-o THREAD,tid

将耗cpu的pid转换为16进制

printf "%x\n" pid pid转换为16进制
 

查找 nid值对应的线程

jstack -l pid |grep Ox111
 

time-wait解决

netstat -ae|grep mysql


vi /etc/sysctl.conf


编辑文件,加入以下内容:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

然后执行 /sbin/sysctl -p 让参数生效。

linux网络传输速度测试方法

 
iperf [-h|--help] [-v|--version]
tar zxvf iperf-2.0.5.tar.gz
./configure --prefix=/home/csb

A端主机
iperf -c 192.168.161.129 -i 1 -w 1M
B端主机
iperf -s -i 1 -w 1M
 

linux jvm监控与分析

社区电商系统架构之技术架构验证篇2_第1张图片
 
上图看到jvm占用60%以上cpu,堆内存使用超过1G。

分析内存

1.使用 jmap -histo [pid] >test.dump
2.使用ibm ha.jar打开dump.

分析cpu

1.使用visuamM 采集cpu快照
2.分析出占cpu的方法
 
社区电商系统架构之技术架构验证篇2_第2张图片

垃圾回收分析

jstat -gcutil [pid] 2500 70
S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 55.61 75.70 0.02 ? 1 0.010 0 0.000 0.010
0.00 55.61 75.70 0.02 ? 1 0.010 0 0.000 0.010
0.00 55.61 75.70 0.02 ? 1 0.010 0 0.000 0.010
0.00 55.61 75.70 0.02 ? 1 0.010 0 0.000 0.010
0.00 55.61 75.70 0.02 ? 1 0.010 0 0.000 0.010
0.00 55.61 75.70 0.02 ? 1 0.010 0 0.000 0.010
0.00 55.61 75.70 0.02 ? 1 0.010 0 0.000 0.010
0.00 55.61 75.70 0.02 ? 1 0.010 0 0.000 0.010
0.00 55.61 75.70 0.02 ? 1 0.010 0 0.000 0.010
0.00 55.61 75.70 0.02 ? 1 0.010 0 0.000 0.010
 
s0: 幸存代0
s1:幸存代1
E:eden代
O:老生代
YGC:新生代gc次数
ygct :新生代gc花的时间
FGC:full全gc时间
FGCT :全gc时间
GCT:总gc时间
 

google-perftools

对 CPU 时间片、内存等系统资源的分配和使用进行分析。没有做过研究

你可能感兴趣的:(性能验证,架构测试)