栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

测试 - 性能测试

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

测试 - 性能测试

并发多线程测试工具类PerfTest

依赖


    org.databene
    contiperf
    2.3.4

注解 @PerfTest

	@Rule
    public ContiPerfRule contiPerfRule = new ContiPerfRule();
	@Test
	// 用10个线程调用11次
    @PerfTest(invocations = 11,threads = 10)
    public void hystrixTest2() {
        logger.info(Thread.currentThread().getName() + "==>" + userService.queryContents());
    }
ApacheBench压测 简介

Ab(ApacheBench) 测试工具是 Apache 提供的一款测试工具,具有简单易上手的特点,在测试 Web 服务时非常实用。 ab 一般都是在 Linux 上用。

安装
yum -y install httpd-tools
常用参数
-n:总请求次数(最小默认为 1); 
-c:并发次数(最小默认为 1 且不能大于总请求次数,例如:10 个请求,10 个并发,实际就是 1 人请求 1 次); 
-p:post 参数文档路径(-p 和 -T 参数要配合使用); 
-T:header 头内容类型(此处切记是大写英文字母 T);
响应参数
Requests per second:吞吐率,指某个并发用户数下单位时间内处理的请求数; 
Time per request:上面的是用户平均请求等待时间,指处理完成所有请求数所花费的时间 /(总请求数 / 并发用户数); 
Time per request:下面的是服务器平均请求处理时间,指处理完成所有请求数所花费的时间 / 总请求数; 
Percentage of the requests served within a certain time:每秒请求时间分布情况,指在整个请求中,每个请求的时间长度的分布情况,例如有 50% 的请求 响应在 8ms 内,66% 的请求响应在 10ms 内,说明有 16% 的请求在 8ms~10ms 之间。
实战 1. 10 个并发用户/10 万请求量(总)
ab -c 10 -n 100000 http://127.0.0.1:8080/jvm/heap
2. POST请求
# 新增文件 devops-user.txt,写入json格式参数,然后运行下列指令
# 200并发下,请求1w次
ab -c 200 -n 10000 -p "./devops-user.txt" -T "application/json" http://127.0.0.1:8080/devops/user
# 在默认不配置 JVM 堆内存大小的情况下,JVM 根据默认值来配置当前内存大小。 我们可以通过以下命令来查看堆内存配置的默认值:
java -XX:+PrintFlagsFinal -version | grep HeapSize
Jmeter 压测 前言

本地部署的jmeter更多情况下会应网络/本地线程问题,导致测试数据不准确,专业的做法还是应该在服务器上部署分布式的jmeter用于测试。
下面主要介绍简单的用法,更多的是用于调用本地java程序,查看本地java的堆内存,cpu状态。

操作步骤

    新建线程组

    创建统一的http请求头

    创建HTTP请求

    添加取样器,聚合报告,用于分析接口性能

    添加取样器,察看结果树 用于查询调用结果

    添加后置处理程序,解决中文展示乱码问题。
    添加 prev.setDataEncoding(“UTF-8”)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/782190.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号