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

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

  1. 工具安装
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:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH
  1. master 配置
    编辑 jmeter.properties文件修改如下配置

  2. slave配置
    编辑 jmeter.properties文件修改如下配置
server_port=1025   // 配置服务端端口
server.rmi.localport=1025  //配置本机端口
server.rmi.ssl.disable=true  //关闭ssl认证
  1. 指定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
  1. 配置防火墙策略

  2. 开启服务&执行
    开启服务 ./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连接数

【性能测试】 模拟分布式性能测试 终端监控相关推荐

  1. 软件性能测试模拟笔试题目

    欢迎关注我的公众号:造火箭的程序猿.收罗各种学习资源,分享科技趣事,推广好用但不是很大众的软件应用! 简答题(2*10=20分) 客户交付一个性能测试项目,请阐述你的实施流程. 答案: 测试设计阶段: ...

  2. 性能测试 性能测试实战(八)Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》

    文章目录 一.前言 二.Jmeter分布式性能测试平台 介绍 1.Jmter分布式性能测试平台 简介 2.Jmeter分布式性能测试平台 优秀案例1 3.Jmeter分布式性能测试平台 优秀案例2 4 ...

  3. 使用 Gatling 进行分布式性能测试

    简介 在本教程中,我们将了解如何使用 Gatling 进行分布式性能测试.在此过程中,我们将创建一个简单的应用程序来使用 Gatling 进行测试,了解使用分布式性能测试的基本原理,最后了解 Gatl ...

  4. 浅谈软件性能测试中关键指标的监控与分析(转)

    浅谈软件性能测试中关键指标的监控与分析 一.软件性能测试需要监控哪些关键指标? 软件性能测试的目的主要有以下三点: Ø  评价系统当前性能,判断系统是否满足预期的性能需求. Ø  寻找软件系统可能存在 ...

  5. jmeter分布式性能测试

    分布式性能测试的原因: 一台计算机能运行的线程数是有限的,可以处理的Jmeter线程就只有100-300个.比如某个接口测试的场景是支持1200的并发, JMeter就可能在运行800个线程左右的时候 ...

  6. 基于RMI的分布式银行自助终端监控系统的研究及实现

    基于RMI的分布式银行自助终端监控系统的研究及实现 张永福1,张娟2 (1.陕西师范大学计算机科学学院 陕西 西安 710062:2.西安财经学院 陕西 西安 710061) 近年来随着我国金融体制改 ...

  7. 软件性能测试关注点,盘点性能测试必须掌握的技术点

    前段时间,有一些小伙伴提出希望我们推送点性能测试的技术干货.所以,小编今天通过上网查资料,结合项目实操过程中的一些问题,总结了一些关于性能测试的内容,希望是大家想要了解的内容哈. 1.性能测试的目的 ...

  8. Jmeter_性能测试(一):性能测试的概念,性能测试的流程和术语,性能测试脚本的制作和调试

    Jmeter_性能测试(1):性能测试的概念 性能测试的概念 性能测试是指通过特定方式,对被测系统按照一定策略施加压力,获取系统 响应时间.TPS(Transaction Per Second).吞吐 ...

  9. 性能测试理论4 | 性能测试术语和通过标准

    性能测试理论4 | 性能测试术语和通过标准 1 性能测试术语 1.1 负载 1.2 性能测试 1.3 负载测试 1.4 配置测试 1.5 压力/强度测试 1.6 稳定性测试 1.7 TPS 1.8 R ...

最新文章

  1. HTTP和HTTPS协议的区别
  2. Service Worker 图片加载失败处理
  3. kali入侵windows
  4. php soap自动wsdl,在使用PHP的本机SOAP类时生成WSDL?
  5. 150. Leetcode 860. 柠檬水找零 (贪心算法-基础题目)
  6. 失落城堡 各种颜色药水、道具效果
  7. 《IT项目管理那些事儿》——前言
  8. Delphi 的运算符列表
  9. basler相机详细使用说明
  10. bootstrap-table导出excel科学计数法bug,数字过长变成科学计数法
  11. java字体设置框_CSS样式更改——字体设置Font边框Border
  12. QtCharts:给QChartView换肤,换背景色添加背景图片
  13. 基于环信的开源即时通讯项目
  14. feed机制、fetch机制
  15. uniApp APP端调起微信支付失败errCode:-100的踩坑
  16. 页面提交成功后,弹窗提示
  17. pytorch训练网络冻结某些层
  18. Pytorch基础入门
  19. 博客神器 | 公式提取器Mathpix Snip
  20. linux仿真电路指令,使用geda进行电路仿真举例

热门文章

  1. PLC 西门子smart200 锁机 分期期付款 动态验证码
  2. 众说区块链:智能合约在建材链上的落地实践
  3. OccDepth:对标 Tesla Occupancy 的开源 3D 语义场景补全⽅法
  4. 关于计算机网络原理的学习(一)概论
  5. 结合面向对象设计原则分析:正方形是否是长方形的子类?
  6. 【Modelsim常见问题】Can‘t launch the ModelSim-Altera software
  7. Kolin 更优雅的封装ProgressDialog
  8. 这就是传说中的搜狗浏览器2.0
  9. vscode emmet默认模板_史上最全vscode配置使用教程
  10. 用Mac电脑看epub小说,阅读器软件怎么选