当前位置: 首页 > news >正文

JAVA开发测试(jmeter如何测试性能与估算)

对C的业务网站或应用,进行性能测试来评估使用服务器情况是必不可少的一项工作。

一、测试工具:

Apache JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能,是Apache组织开发的基于Java的压力测试工具Jmeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。通过使用jmeter,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

如我们对一台署了电商应用的服务器部进行测试配置如下:

服务器类型:ECS弹性云服务器服务器CPU:4C(4核)服务器内存:16G服务器存储:50G(系统盘)+500G(存储)服务器数量:1台备注  说明:ecs.g7.xlarge+5M带宽

经验总结的数据规则:

1、二八法则(20%的时间完成80%的事情):

也叫帕累托法则,指电商行业中,20%的变量将产生80%的效果,电商平台常用来计算用户访问量和时间的分配情况,即平台80%访问,集中在20%的时间完成。

2、下单转换率(5%)

电商转化率=交易次数/访问数,目前行业普遍维持在5%的转化率。

3、黄金时段:(早10点到晚10点)

根据淘宝发布的统计数据,交易的‘黄金时段’为10:00-12:00、15:00-17:00、20:00-22:00;

根据京东新品发布时间段统计数据,新品发布‘黄金时段’为10:00-11:00、15:00-17:00。

结合以往电商项目,交易多发生在10:00-22:00(特殊活动日除外)。

二、压测前准备工作:

在进行性能测试之前,需要做一些必须的准备工作,主要包括:

  1. 测试功能点全部通过功能测试,确保功能上没有问题;
  2. 软硬件环境搭建就绪;
  3. 数据库备份;
  4. 对于每一个测试功能点,都要事先录制好相应的测试脚本,包括参数化,准备好测试数据,并且调试好,脚本能够成功的回放,保证在测试的时候能够顺利的运行;
  5. 测试数据准备就绪;
  6. 系统监控准备就绪;
  7. 测试结果验证方法准备就绪。

三、测试方法:

利用测试工具Jmeter编写脚本,模拟用户并发执行典型业务场景,记录事务响应时间、用户并发数、TPS等数据,并对应用服务器系统资源利用情况进行监控。

模仿虚拟用户:

虚拟用户:在本次测试中,一个虚拟用户即是一个线程。线程每次从流程图开始时执行,若未遇到异常则运行至结束,然后又从开始时运行,如此往复,直至手动停止或者运行时间结束。在执行脚本过程中,若出现异常,则跳至结束,并重新开始。

关键性指标:

迭代:一个虚拟用户执行完一次脚本即称之为一次迭代。

ART:事物平均响应时间。

TPS:系统每秒能够处理的事务数。

如测试一个查询用户详情信息的业务流程:

执行该脚本前,需先准备一批平台会员信息;

每次迭代使用的会员信息是顺序获取的。

按照上面的例子依次测试系统中场景得出性能数据即可。

四、测试结论

一般的结论

根据电商平台常用二八法则,即80%的业务集中发生在20%的时间段。用户购物行为普遍发生在每一天的10个小时(12:00-22:00),

9.08次/s*3600s/h*2h≈26万次

根据28定律换算:26万次/0.8≈6.54万次/天

即:每天可支持6.54万次的三方平台调用能力。

扩容建议就两项:

  • 纵向扩容:如服务器及云服务CPU数量增加、内存增加、硬盘存储增加;
  • 横向扩展:应用服务器数量增加,云服务数量增加。
http://www.lryc.cn/news/10079.html

相关文章:

  • 【新解法】华为OD机试 - 求解连续数列 | 备考思路,刷题要点,答疑,od Base 提供
  • Python3 File(文件) 方法
  • APP渗透抓包
  • 力扣(LeetCode)414. 第三大的数(2023.02.16)
  • Spring底层
  • Cache-Control 常见字段
  • Flink Checkpoint 中的通用增量Checkpoint
  • 金三银四必看的软件测试面试题宝典,背完offer随便拿
  • 企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis
  • 扬帆优配“数字经济+实体经济”融合发展,行业增长空间大!
  • 分享82个HTML电脑主机模板,总有一款适合您
  • .htaccess语法教程
  • C++ ——多态 下 (图解多态原理、虚函数的再认知)
  • cocos creater 3.x 构建QQ小游戏
  • ArcGIS笔记3_如何编辑、修改和导出散点数据
  • Computer Graphics From Scratch - Chapter 8
  • 金三银四”不香了?
  • 个人开源PCB开发板列表汇总
  • 2023美国大学生数学建模竞赛(美赛)思路代码
  • makefile简易教程
  • 快速入门nginx
  • 甘特图:项目管理工具,轻松简化工作流程
  • 刷题专练之翻转题练习
  • 【Java】死锁
  • DS图—图的最短路径(无框架)迪杰斯特拉算法
  • 【笔记】数据异常检测与修复总结
  • 算法笔记(七)—— 图的相关知识及算法
  • ssh配置互信时错误解决方法
  • SQL69 返回产品并且按照价格排序
  • vue+elementUI 实现设置还款日字母弹窗组件