用同一个token做性能测试,和1000个token随机取一个做性能测试,对服务器性能指标一样吗?
系统是否允许一个账号被同时登录多次?
如果有互踢功能,那是不能使用同一个账号
有没有缓存机制(数据库缓存)
如果有,不能使用同一个账号
造多个账号进行性能测试
尽可能的在运行过程中,造足够量的账号
如果只有固定的一些账号可用时,做这种性能测试时,要记得带上「退出登录」接口
如果只有固定的一些账号可用时,不关心登录接口的信息,可用不用退出
直接使用数据库中数据进行性能测试
数据连接
![数据连接](https://i-blog.csdnimg.cn/blog_migrate/5599c24f31e05f69777f24ad46942e3a.jpeg)
数据库查询
select user,password from zx limit 10
![数据库查询](https://i-blog.csdnimg.cn/blog_migrate/979b03cdce69f5281190a8c236f7b0e0.jpeg)
循环设置属性
添加计数器
![计数器](https://i-blog.csdnimg.cn/blog_migrate/cf5a6bb9081571118b9281ab2154a246.jpeg)
添加调试取样器设置属性
${__setProperty(per_user_${d},${__V(user_${d})},)};${__setProperty(per_pwd_${d},${__V(password_${d})},)}
![调试取样器](https://i-blog.csdnimg.cn/blog_migrate/5606123ed57c7db0e5c51313c999d0bd.jpeg)
查看属性设置情况
![截屏2021-05-15 下午8.59.06](https://i-blog.csdnimg.cn/blog_migrate/588fb1b95697bd9aa068e8a8fdac5ad3.jpeg)
使用数据库中读取到的内容
设置线程数
![线程数](https://i-blog.csdnimg.cn/blog_migrate/26f6e0d113357c5945efc667f4ca4285.jpeg)
添加计数器
![计数器](https://i-blog.csdnimg.cn/blog_migrate/34814c04482a85a00820da28d2e121d5.jpeg)
发起http请求
![发起请求](https://i-blog.csdnimg.cn/blog_migrate/bf32f82f2d5264f590bb5b559a530608.jpeg)
查看结果
![查看结果](https://i-blog.csdnimg.cn/blog_migrate/cc00c8d754d15d7479a1b086dff51982.jpeg)
小结
线程1:从本地sqlite数据库中获取数据,设置为属性
线程2:从属性中,直接获取值,进行性能测试
监控
监控被测服务器的软件、硬件资源,收集这些资源的使用情况的数据,用于后续的性能分析
ServerAgent 监控硬件
可用于监控Linux和Winodws
可以和Jmeter直接集成
安装
将
ServerAgent-2.2.3.zip
上传到被测服务器解压文件
进入解压文件后,执行启动命令
[root@vircent7 serverAgent]# chmod 777 startAgent.sh
[root@vircent7 serverAgent]# ./startAgent.sh
INFO 2021-03-27 13:27:11.890 [kg.apc.p] (): Binding UDP to 4444
INFO 2021-03-27 13:27:12.896 [kg.apc.p] (): Binding TCP to 4444
INFO 2021-03-27 13:27:12.924 [kg.apc.p] (): JP@GC Agent v2.2.3 started
默认的服务器端口为
4444
jmeter与该监控集成
jmeter监听器>jp@gc - PerfMon Metrics Collector「需要安装第三方插件 jpgc」
![监听器](https://i-blog.csdnimg.cn/blog_migrate/c1d6027ce562e62c992362aaa101b7a4.jpeg)
实际工作中可能遇到的问题
被测服务器数云服务器,云服务器会禁用4444端口
关闭UDP端口,开启TCP端口为5279
UDP是一种广播模式传递数据,这种方式数据不安全
TCP需要建立连接才能传输数据,数据相对更安全
[root@vircent7 serverAgent]# ./startAgent.sh --udp-port 0 --tcp-port 5279
INFO 2021-03-27 13:36:21.743 [kg.apc.p] (): Binding TCP to 5279
INFO 2021-03-27 13:36:21.909 [kg.apc.p] (): JP@GC Agent v2.2.3 started
网络要通:不是使用ping命令
ping:只要网络存在这个IP,ping命令可以被禁用,企业中的服务器,很多时候都会禁用ping命令
服务器向外提供是通过端口,如果服务器没有启动,是没有端口可用,能ping通但是无法连接
防火墙上没有开通端口权限
一般采用 telnet ip端口
如果这个命令不能执行
telnet不是内部命令|未找到命令:说明没有开启telnet命令或没有安装
如果这个命令不通
被测服务器没有启动对应的服务
防火墙没有开放该端口
systemctl status firewalld
[root@vircent7 ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1)
如果是云服务器,一定要去web管理台 安全策略中开放端口