性能测试笔记

一、搭建web测试项目

性能测试过程中需要干净独立的系统,需要更真实模拟生产环境,包括硬件环境,软件环境等。

1.1 mysql环境搭建

安装mysql:
1 进入linux直接使用wget下载相应rpm包。

wget http://repo.mysql.com/mysgl57-community-release=e17-8.noarch.rpm

2、接着执行rpm命令,安装rpm包

rpm -ivh mysq|57-community-release el7 -8.noarch.rpm

3.安装mysql-server

yum y install mysql-server -nogpgcheck(去掉gpg检查)
yum -y install mysql-community-server --nogpgcheck (社区版)

启动mysql服务:

service mysqld start

登录mysql:

mysql -uroot -p

Mysql使用权限设置

mysq刚安装后需要进行一定设置才可以使用。
修改密码:
/var/log/mysqld.log中搜索temporary password,后面有最原始密码
修改一下mysq的安全配置:

set global validate_password_policy=0;
Set global validate_password_length=4;
set password =password('root );(设置密码) 
SHOW VARIABLES LIKE 'validate_ password%';

或者直接更新表,不同版本会有安全机制差异。

update mysql.user set authentication_string = password ('root') where user= 'root';

刷新权限:

flush privileges;

Mysql对外使用权限设置
mysql设置对外可连接使用,在连接使用时出现以下情况,需要再对外进行授权操作。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

flush privileges;

连接中防火墙一定也要记的关闭!!!!

firewall-cmd --version 查看版本

systemcti status firewalld --查看状态,firewall-cmd --state也可以使用这种查询
systemctl start firewalld   --启动防火墙
systemctl restart firewalld.service --重启防火墙
systemctl stop firewalld.service  --关闭防火墙
systemctl disable firewalld.service  --设置开机停止防火墙

MySQL免密登录

在配置文件etc/my.cnf修改,加上skip-grant-tables,然后service mysqld restart重启

1.2 订餐项目搭建

1.配置Java环境

安装jdk并在etc/profile里添加Java环境变量

2.上传项目并配置

在项目的webapps/dingcan/WEB-INF/classes/database.properties修改数据库连接配置

3.运行tomcat,浏览器访问
在这里插入图片描述

二、计数器参数化+逻辑控制器

禁用HTTP Cookie管理器后如何通过参数取到Cookie传递:
在这里插入图片描述
cookie在子请求的信息头中设置,使用正则表达式提取后设置到信息头管理器:(或者勾选只有子集)
在这里插入图片描述
java请求可用于直接查看某一个值:
在这里插入图片描述
在这里插入图片描述

2.1计数器参数化

计数器参数化:
在这里插入图片描述
递增时为附加在后面,num的结果为11、12、13依次递增到不超过999

2.2逻辑控制器

事务控制器:将多个请求放到一个事务,勾选时聚合报告时只统计登录事务不分开统计
在这里插入图片描述

仅一次控制器:
只运行一次,通常将登录放到仅一次控制器里

吞吐量控制器:
每个接口访问的流量不一样,可以通过吞吐量控制器的比例控制
在这里插入图片描述
在这里插入图片描述

IF控制器:
在这里插入图片描述

switch控制器:
在这里插入图片描述
只执行控制器下的第2个请求

模块控制器:模块很多时选择执行哪些
在这里插入图片描述

2.3脚本优化

在这里插入图片描述

三、思考时间+JDBC压测

3.1 思考时间

在这里插入图片描述

  • 固定定时器:固定延迟多少时间,注意所放位置不同作用域不同
    在这里插入图片描述

  • 统一随机定时器:

    总延时=固定延迟时间+随机生成的延时

在这里插入图片描述

  • 高斯随机定时器:
    在这里插入图片描述
  • 集合点:即同步定时器

等到5个用户再去执行,否则一直等待到5秒后运行
在这里插入图片描述

3.2 JDBC压测

在这里插入图片描述
在这里插入图片描述
使用带参数的sql语句:
在这里插入图片描述

四、jmeter插件安装

插件下载:https://jmeter-plugins.org/install/Install/

下载jmeter-plugins-manager.jar,将包放在jmeter的lib/ext目录里

在这里插入图片描述
常用的两个:
在这里插入图片描述

五、性能测试场景

在这里插入图片描述
总共100个,等待是10s开始执行,首先在5s内增加到40,持续50s,然后增加60,持续50s,最后在每5s下降10直到0

在这里插入图片描述
常见经典场景:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、性能测试理论

在这里插入图片描述
常规性能测试目的:
在这里插入图片描述
性能测试专业名词:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最大用户数与最佳用户数理解:

以理发店为例:
一个理发店有3个师傅
每次理发需要一小时
客户等待最长时间为3小时

最大用户数:9个,3个在接收服务,3个已等待1小时,3个已等待2小时
最佳用户数:3个,3个客户到来时无需等待
在这里插入图片描述

八、性能测试流程

在这里插入图片描述

在这里插入图片描述
测试方案文档见实例

九、无界面压测

9.1 jmeter无界面压测

jmeter参数命令:
-n 非界面模式
-t 要测试的脚本
-l 表示执行的结果文件
-r 表示远程启动服务,后面写远程机器即slave机器列表
-R 指定部分压力机列表

生成的jtl文件在jmeter的聚合报告、图表等中可以打开

9.2 集群压测

在这里插入图片描述
使用windows当主机控制机,使用linux服务器当从机压力机。

1.将本机jmeter上传解压到Linux服务器,配置环境变量。

2.修改主机jmeter的配置文件,添加控制机ip和端口,端口与压力机server_port=1001对应。
在这里插入图片描述
在这里插入图片描述
3.设置压力机的server.rmi.ssl.disable=true
server_port为1001
server.rmi.localport=1001
在这里插入图片描述
启动成功:
在这里插入图片描述
4.在主机控制机中调用

运行–》远程启动–》选择远程机

注意:包和驱动文件等的位置要为主机包所在位置,开放服务器端口号

在这里插入图片描述
在这里插入图片描述

注意
需要开放对应端口1001

开端口命令:firewall-cmd  --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service
命令含义:
--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效

firewall-cmd --list-all  #查看已开放端口

在本机通过telnet ip号 端口号 验证

十、Linux实时监控命令

在这里插入图片描述

10.1 top命令

在这里插入图片描述
 在这里插入图片描述

参数详解:
在这里插入图片描述
在这里插入图片描述

当cpu为多核时会出现占用率大于100%,假如为4核,则最高为400%
在这里插入图片描述

10.2 free命令

在这里插入图片描述
在这里插入图片描述

10.3 Vmstat命令

在这里插入图片描述
常用命令:
在这里插入图片描述

10.4 lostat命令

在这里插入图片描述
主要监控磁盘,常见命令:
在这里插入图片描述

10.5 df命令

确认磁盘大小空间瓶颈
在这里插入图片描述

10.6 Nestat命令

在这里插入图片描述

10.7 Nmon命令

在这里插入图片描述
在这里插入图片描述

十一、mysql慢查询监控

在这里插入图片描述
设置开启:
在这里插入图片描述
设置时间:
在这里插入图片描述
设置日志保存位置:
在这里插入图片描述
或者直接在配置文件中更改:
在这里插入图片描述

慢查询日志分析

在这里插入图片描述
mysqldumpslow 用于记录较多时筛选

mysql连接数设置:
在这里插入图片描述

连接数监控

在这里插入图片描述

连接池

在这里插入图片描述
在这里插入图片描述

数据库锁定位

直接查询系统表:
在这里插入图片描述

十二、redis性能测试

在这里插入图片描述

指标监控

进入redis-cli 使用info命令查看
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

redis监控平台搭建

treeNMS

在这里插入图片描述

Grafana

1.安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十三、jvm监控

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

监控工具

在这里插入图片描述

十四、系统架构+全链路压测+性能测试报告

系统架构

在这里插入图片描述
架构演变过程:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全链路压测

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

性能测试报告

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值