多平台统一管理软件接口,如何实现多平台统一管理软件接口
995
2023-02-11
本文目录一览:
性能测试常用指标从外部看,主要有:
1、吞吐量:每秒钟系统能够处理的请求数,任务数
2、响应时间:服务处理一个请求或一个任务的耗时
3、错误率:一批请求中结果出错的请求所占比例
从服务器的角度看,性能测试关注CPU,内存,服务器负载,网络,磁盘IO
对登录功能做性能测试:
1、单用户登陆的响应界面是否符合预期
2、单用户登陆时后台请求数量是否过多
3、高并发场景下用户登录的响应界面是否符合预期
4、高并发场景下服务端的监控指标是否符合预期
5、高集合点并发场景下是否存在资源死锁和不合理的资源等待
6、长时间大量用户连续登录和登出,服务器端是否存在内存泄漏
Java编程下用JMeter Java Sampler进行多接口性能测试,使用方法如下:
/**
*JMeter Java Sampler介绍
*setupTest做些初始化的工作,每个线程只执行一次
*teardownTest做些清理工作,每个线程只执行一次
*runTest具体的测试执行工作,每个并发每次循环都将执行一次
**/
//继承AbstractJavaSamplerClient
public class hessianTest extends AbstractJavaSamplerClient{
//hessian调用地址
private static String url = "hessian/remoting/userService";
MyService collect = null;
HessianProxyFactory factory = new HessianProxyFactory();
public int id;
@Override
public void setupTest(JavaSamplerContext arg0) {
//获取jmeter传入参数
id=arg0.getIntParameter("id");
try {
collect = (MyService) factory.create(
MyService.class, url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
SampleResult sp = new SampleResult();
sp.sampleStart();
User rt = null;
try {
rt = collect.getUser(id);
} catch (Exception e) {
sp.sampleEnd();
sp.setSuccessful(false);
return sp;
}
sp.sampleEnd();
if(rt.getId()==id)
sp.setSuccessful(true);
else
sp.setSuccessful(false);
return sp;
}
@Override
public void teardownTest(JavaSamplerContext context) {
super.teardownTest(context);
}
}
通过分析业务逻辑和技术架构,创建性能模型,制定性能方案,准备应用环境,设计并实施性能部署监控,实现符合真实业务逻辑的压力,通过监控手段获取各组件的性能计数器,分析计数器采集出的数据,查找出性能瓶颈的根本原因并优化,最后通过环比生产环境的性能数据修正场景。
2.2.1、时间指标
2.2.2、容量指标
2.2.3、资源利用率指标
2.3.1、业务模型
2.3.2、监控模型
2.4.1、测试环境
2.4.2、测试数据
2.4.3、测试模型 - 基于业务模型构造测试数据
2.4.4、性能指标
2.4.5、压力测试-阶梯压力测试高并发压力测试
2.4.6、准入准出
2.4.7、进度风险
2.5.1、软硬件环境(包括压力机)
2.5.2、应用版本
2.5.3、基础设施
2.5.4、网络结构
2.5.5、基础数据
2.5.6、压力工具
2.6.1、系统监控
2.6.2、中间件监控
2.6.3、缓存监控
2.6.4、队列监控
2.6.5、负载均衡监控
2.6.6、熔断限流
2.6.7、链路监控
2.7.1、基准场景
2.7.2、容量场景
2.7.3、稳定性场景
2.7.4、异常场景
2.8.1、场景结果整理
2.8.2、监控结果整理
2.8.3、性能整体分析
2.8.4、性能结论
2.8.5、优化建议
2.8.6、运维建议
性能验证:验证系统是否达到指定的指标。 举例:RT是300ms,QPS/TPS是否可以达到800。
性能调优:验证是否达到系统的最大容量。 举例:限制或者不限制RT、内存水位、CPU水位,QPS/TPS可以达到多少。
容量验证:需要多少台机器。 举例:50 w UV,需要配置多少台机器。
1000万的用户,在场景A中,业务1占比10%,业务2占比20%,业务3占比30%;
1000万的用户,在场景B中,业务1占比20%,业务2占比30%,业务3占比40%;
1000万的用户,在场景C中,业务1占比30%,业务2占比40%,业务3占比50%。
包括接口响应时间+业务响应时间
参考:
互联网企业:500ms以下,例如淘宝业务10ms左右。
金融企业:1s以下为佳,部分复杂业务3s以下。
保险企业:3s以下为佳。
制造业:5s以下为佳。
包括接口容量+业务容量
如果是接口层性能测试,TPS中的T 可以直接定义为接口级;
如果业务级性能测试,TPS中的T 可以直接定义为每个业务步骤和完整的业务流;
举例:
start事务(接口1)
商品详情页接口A
end事务(接口1)
start事务(接口2)
商品详情页接口B
end事务(接口2)
start事务(业务A)
加入购物车(接口1)-下单(接口2)-支付(接口3)
end事务(业务A)
start事务(业务A)
点击-加入购物车(接口1)-下单(接口2)-支付(接口3)
end事务(业务A)
a、操作系统:CPU、Memory、Network、IO、System、Swap
b、JVM:GC、classes
...
对于长连接来说,最大并发用户数即系统的并发接入能力。实际上,就算是长连接,如果实际业务已经丢掉了异常的请求,那么最大并发用户数不等于系统的并发接入能力。
对于短连接来说,最大并发用户数并不等于系统的并发接入能力。
并发是在单位时间内完成的事务(T)的个数。
在线用户数和压力线程之间的关系:
从以上的计算逻辑中,我们可以看到,这其中有几个关键数据:
举例:
1) 在线用户数:1个用户,100个请求,响应时间是250s
用户数:1个
响应时间:250s
请求数:100
tps计算: 1*100/250=0.4(请求数/秒)
在线用户数(有停顿时间):100000个用户,100个请求,响应时间是3600s
用户数:100000个
响应时间:3600s
请求数:100
tps计算:100000100/3600=2777.8 tps
2) 并发用户数(无停顿时间):1个用户,100个请求,响应时间是6s
用户数:1个
响应时间:6s
请求数:100
tps计算:1*100/6=16.67 tps
3) 压力线程=(在线用户数×单用户请求数)/峰值采样时间段÷一个压力线程的请求级TPS
压力线程 = 2777.8(100000在线用户的请求级TPS)/16.67(1个压力线程的请求级TPS)=167
4) 并发用户数=在线用户数×有停顿时间的单线程TPS÷无停顿时间的单线程TPS
并发用户数 = 100000(在线用户数)*0.4(有停顿时间的单线程TPS)/16.67(无停顿时间的单线程TPS)=2399
5) 并发度=在线用户÷并发用户×100%(取值要在同一时间段)
并发度 = 100000/2399*100%=41.68%
参考:高楼老师的课程
关于性能测试接口指标和常见性能测试指标的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 性能测试接口指标的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于常见性能测试指标、性能测试接口指标的信息别忘了在本站进行查找喔。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~