第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 【性能测试】 模拟分布式性能测试 终端监控

【性能测试】 模拟分布式性能测试 终端监控

时间:2023-11-15 05:33:20

相关推荐

【性能测试】 模拟分布式性能测试  终端监控

【性能测试】 本地模拟分布式性能测试

前置:本地搭建好虚拟机,并且网络互通,安装好JDK

工具安装

unzip apache-jmeter-5.5.zip // 解压安装包vim /etc/profile //编辑系统配置文件# 在文件底部添加环境变量export JMETER_HOME=/usr/local/apache-jmeter-5.5 export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATHexport PATH=$JMETER_HOME/bin:$PATH

master 配置

编辑 jmeter.properties文件修改如下配置

slave配置

编辑 jmeter.properties文件修改如下配置

server_port=1025 // 配置服务端端口server.rmi.localport=1025 //配置本机端口server.rmi.ssl.disable=true //关闭ssl认证

指定slave IP(仅在本机有多个虚拟网卡的情况下需要,在企业测试中一般不需要) linux 系统

1.编辑 jmeter-server 文件vim jmeter-server 6. 在文件内配置本机的ip地址MI_HOST_DEF=-Djava.rmi.server.hostname=192.168.1.100

win 系统

编辑 jmeter.bat 文件,在文件下方设置本机IP

配置防火墙策略

开启服务&执行

开启服务./jmeter-server

执行脚本jmeter -n -t “脚本文件” -l “测试报告文件” -r

终端监控

linux 环境检查

查看 Linux版本 cat /etc/redhat-release

查看cpu型号 核数 个数 每个物理cpu的核数 逻辑个数 都在 /proc/cpuinfo文件下

cat /proc/cpuinfo | grep “physical id”

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

检查是否虚拟机 cat /proc/scsi/scsi

top命令查看各进程CPU占用率

第一行:

xxx day : 时间

user: 登录用户个数

load average: 0.41, 0.45, 0.43 系统负载,即任务队列的平均长度。1分、5分、15分钟前平均负载

根据cpu的核数对比系统是否处于高强度负载,如,cpu2核,平均负载大于2则说明系统高负载。

第二行:

Tasks: 141 total 进程总数, running 运行进程, sleeping 睡眠进程, 0 zombie 僵尸进程数

第三行cpu:

us 用户空间占用CPU百分比

sy 内核空间占用CPU百分比

ni 用户进程空间内改变过优先级的进程占用CPU百分比 (进程之间的切换过高理论上不允许)

id 空闲CPU百分比

wa 等待输入输出的CPU时间百分比

hi 硬件中断

si 软件中断

st 实时

第四、五行内存/交换空间(内存):

Mem: 191272k total 物理内存总量

22052k buffers 用作内核缓存的内存量

Swap: 192772k total 交换区总量 (交换分区free used 频繁切换说明内存空间不足)

123988k cached 缓冲的交换区总量

常用命令

top -d 2 —没2秒刷新一次,默认是5秒

top -p 端口 —显示进程号xxx的资源使用情况

top -c — 显示各进程启动方式,默认值显示了进程名

top -Hp pid可展示这个进程的所有线程的运行情况 。 shift +h 可以切换所有线程查看方式

常用选项

排序: 大写的 M P T 分别是内存 cpu 执行时间

1 可查看多核cpu分开查看

q 推出

m 显示内存大小

z / Z更改颜色

jstack命令

#JDK自带的命令行工具

jstack -l [pid]查看所有线程信息

jstack -l [pid] | grep 16进制

转换 16进制 : printf "%x“ xxx

free 命令

free -m -s 2 以兆为单位 每隔2秒刷新一次

free -g -c 2 以G为单位,只刷新4次

Vmstat 命令

一个监控linux实时状态的命令,常规使用:

vmstat 2 4 表示每2秒显示一次数据, 共显示4次

详解:

r 表示运行队列,当值长期高于cpu数目,那么表示cpu有瓶颈

b 表示等待进程io的数量, 如果数值长期较高,需要结合 bi bo查看是否有瓶颈

bi 每秒读取的块数,接收文件时用到,如果该值长期大于0 表示io频繁

bo 每秒写入的块数,读取文件时用到,如果该值长期大于0 表示io频繁

swpd 表示虚拟内存, 也就是交换分区。 该值如果大于0表示物理内存不足已经在使用交换分区了,再结合si so 查看瓶颈

si 每秒从交换区写道内存的大小, 由磁盘调入内存

so 每秒写入交换分区的内存大小,由内存调入磁盘

ln 每秒cpu中断次数(结合Cs查看)

Cs 表示每秒cpu上下文切换数,线程,进程的切换都要用到上下文的切换。该值越小越好,上下文切换次数过多表示cpu大部分浪费再切换中,导致cpu真正要处理的事减少,cpu没有从分利用到系统中。

Iostat 命令

安装: yum -y install sysstat

sysstat 包含 iostat mpstat sar sa

iostat -c 表示只显示cpu的信息 -d 表示只显示磁盘的信息 -x 表示显示所有信息

iostat -x 1 3 表示每1秒钟显示一次详细信息,共刷3次

磁盘监控主要看繁忙度:读写其实也可以看,但读写只不过是个绝对值,好的磁盘自然快,快并不代表没有瓶颈,而是要看它相对系统来说是否繁忙 so 需要查看 %util

df 命令

df -h

size 总大小

used 已使用的大小

avail 还可以使用的量

use 使用的百分比

mounted on 挂载点

在测稳定性的时候,确认有没有磁盘空间的瓶颈,磁盘空间不足倒是测试结果不准。

netstat 命令

Netstat 是一款非常强大的网络管理工具, 一般用于检测本机各端口的网络连接情况。nestat 在内核访问网络及相关信息的程序, 它能提供tcp、udp监听,及其他进程内存管理的相关报告。

netstat -nat | grep -i “80” | wc -l ---- 统计80端口的连接数

netstat -na | grep ESTABLISHED | wc -l ---- 统计已连接的

netstat -an | awk ‘/^tcp/ {++S[$NF]} END {for (a in S) print a,S[a]}’ ---- 检测tcp连接数

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。