文章目录

  • 性能测试的意义:
  • 需求来源
  • 需求评估
  • 常见性能需求
  • 性能测试场景设计
  • 注意
  • 扩展:jmeter Thread Properties

性能测试的意义:

  • 能够有效评估系统的性能指标,用于系统的性能评估
  • 能够识别系统的性能瓶颈,协助性能调优
  • 能够指导突发流量承载方案的制定
  • 能够用于系统运维成本的预算

需求来源

测试:根据业务提出性能测试来规避风险

开发:觉得某些页面加载慢

运维:对某个系统的服务能力提出性能评估

产品:线上性能问题反馈

用户:提出某些硬性的性能要求

需求评估

关键性评估:有以下一项就要进行性能测试

涉及财产、生命、安全的系统。如:支付系统、电商系统、金融业务系统、医疗健康评估系统

首次投产的大型系统、具有大量用户使用的核心业务(如:查票、抢票、支付)

系统核心数据库、业务逻辑、软硬件升级

历史版本存在重大非功能缺陷or风险较大的未评估项

系统升级后,业务量、用户量、节点增长30%以上

系统架构发生重大变化的场景

性能严重Bug修复后,是否会对正式环境造成不利

常见性能需求

  1. 接口的响应速度达到300ms以下。
  2. 系统服务支持50万个在线用户
  3. 接口成功率达到99.5%以上。
  4. 在100个并发用户的高峰期,系统的基本功能,处理能力至少达到10TPS
  5. 这个系统能否支撑200万的vu(每天登录系统的人次) vu----Virtual user(虚拟用户)

"不成文"的性能需求指标:

80/20原则:又称帕累托效应,比如,某一些系统一天中80%的访问量集中在20%的时间内。

下面来分析某移动支付的需求:

按照2018年日交易笔数的目标为1000万笔:

如何得到每秒的交易笔数?

一: 严格的根据2/8原则 ,80%的订单集中在20%的时间生成。

集中订单交易数: 10000000*80%=8000000笔

集中发送的时间:24*20%=4.8小时=17280秒

每秒生成的订单数:8000000/17280=462.9笔/秒

二:另外的200W交易笔数请求分布在另外的23个小时内,因为考虑到半夜之后基本没什么请求量,假设另外的200W次请求分布在10:00-24:00,那么我们另外一个指标是 2000000/14/3600 = 39.68 (稳定支持这样的TPS)

性能测试场景设计

峰值场景设计: 设计符合业务场景的高压力场景,比如大量并发集中在半小时-1小时内

稳定场景设计: 8-10小时的长时间稳定压力场景

性能瓶颈压测场景: 逐步增加压力,寻找业务请求瓶颈(适用于没有业务指标,技术优化类)

秒杀类超大并发场景设计: 测试秒杀场景

要测试的对象不是凭空想象出来,而是经过分析与系统数据收集得到。以下取几个典型的压力点:

  • 登录:对于一般的系统来说,登录是用户操作系统的前提,如果用户根本就登录不了,那么其它功能将毫无用处。例如网游戏,开新服的时候,玩家挤破了脑袋只为登录。

  • 查询:查询一般比较消耗系统和数据库资源。搜索引擎的查询功能就是典型,如果你在输入框内输入内容,很久就得不到结果。我想被称为“互联网入口”的搜索引擎就不会存在。

  • 交易:对于一些电子商务系统来说,交易过程的性能要求是很高的,如果交易过程消耗用户很长时间的话,用户可能会转投其它平台。当然,除了交易速度外,对交易的成功率要求也是非常高的。不然,造成的损失也是不可估量的。

被测的系统应该是最重要的最基本的功能,也是用户使用最频繁的功能。

注意

测试用例的产生需要考虑以下几方面:

1.测试页面和业务逻辑,也就是业务对应的功能点

注意,性能测试的测试用例也需要专一性,也就是对应单个测试功能点。

因为我们监控的是每个事物的响应时间,功能点需要单一。

为排除网络原因,请在局域网进行性能测试。

2.压力持续时间

压力持续时间指的是给服务器施加多长时间的压力。

这个时间,我们会结合测试场景,对压力时间做一定的控制。

如果测试的是高峰场景,时间一般最少为1个小时;

如果测试的是稳定性场景,时间一般最少要求8小时;

3.并发数

不要混淆并发和TPS的关系。

并发数指的是同时有多少用户(线程)在对服务器施加压力,是量化的给服务器的压力;而TPS指的是服务器每秒钟能够处理的事物数,是服务器处理能力的体现。即施加的并发数服务器并不一定一秒响应完,两者定义不同。

扩展:jmeter Thread Properties

Number of Threads(users):用于设置线程数,即用户数

Ram-Up Period(in seconds):用于告知JMeter要在多长时间内建立全部的线程。Ramp-Up的值默认为0,代表立即建立所有线程,即同时并发。

Loop Count:用于设置循环次数

性能测试第一步--性能需求分析相关推荐

  1. Python 优化第一步: 性能分析实践 使用cporfile+gprof2dot可视化

    拿来主义: python -m cProfile -o profile.pstats to_profile.py gprof2dot -f pstats profile.pstats |dot -Tp ...

  2. loadrunner性能测试——第一步 录制脚本(中文版)

    通过上篇博客,了解了loadrunner这个工具能做什么,以及对安装环境的要求,安装.汉化以及破解过程都挺简单的,可以从网上找到教程.从这篇文章开始进入loadrunner的使用. 可以将测试过程理解 ...

  3. 性能测试知多少---性能需求分析

    需求分析是个繁杂过程,它并非我们想象的那么简单,而性能测试需求除了要对系统的业务非常了解,还需要有深厚性能测试知识.才能够挖掘分析出真正的性能需求. 如何获得有效的需求 1.客户方提出 客户方能提出明 ...

  4. 软件性能测试系统的性能需求分析,性能测试(2)---性能测试需求分析

    需求收集之后,我们已经从性能需求文档中提取出了业务性能测试指标,主要包括PV到TPS的转换以及响应时间要求,接下来我们需要进行进一步的需求分析过程. 1了解系统架构.明确压力流向 例如统一订购平台的系 ...

  5. 性能测试第一步——查看设备的硬件配置

    在进行性能测试之前,我们常常需要首先确认设备的硬件配置是否满足测试需要,保证在硬件资源无瓶颈的基础上再开始测试.那如何获取设备的硬件配置呢?下面以CentOS系统为例,简单介绍一下: 一.查看实体机的 ...

  6. 测试软件响应时间需求,性能测试知多少---性能需求分析

    对性能需求点的描述 准确 如**系统必须在不超过 10 秒的响应时间内,处理 20 起登录任务.再如发邮件时间最大不超过5秒以及平均时间在2秒以内. 一致 用户和性能测试工程师对有关术语的理解要一致, ...

  7. 服务器内存一般多大_性能调优第一步,搞定服务器硬件选型

    服务器选型是Linux性能调优的第一步. 无论你是自行购买服务器进行托管,还是租用服务器,购买云主机,都要面临的一个问题:选择服务器的硬件配置. 我们需要从不同角度.多个方面来决定选择一台什么样的服务 ...

  8. 老板让你做性能优化,第一步如何定义指标?

    大厂技术  高级前端  Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 前言 项目的性能决定了用户对项目的整体感观度,优秀的性能可以保证项目的流畅与自然给用户愉快的 ...

  9. 鸿蒙系统散热,安卓11,鸿蒙2.0万里长征第一步;芯片散热新技术冷却性能增加50倍​|图灵周报...

    原标题:安卓11,鸿蒙2.0万里长征第一步:芯片散热新技术冷却性能增加50倍​|图灵周报 01谷歌安卓 11 正式版发布 当地时间周二,谷歌正式发布了最新版本的移动操作系统 Android11,并将源 ...

最新文章

  1. TCP、UDP、HTTP、SOCKET之间的区别
  2. 虚拟化部署之创建Hyper-V虚拟硬盘
  3. RTT的IPC机制篇——消息队列
  4. js调用本地js文件(亲测)
  5. list 转set_MapStruct高级用法:List和String互转
  6. python tkinter place布局
  7. 如何使用代码确定设备屏幕大小类别(小,普通,大,xlarge)?
  8. 三 数据结构 --数和二叉树
  9. 智华计算机加密,智华天成V1.0计算机终端保密检查系统软件 国密装备目录**
  10. Android PreferenceScreen的使用和详解(设置页面)
  11. 微信打电话和直接打电话有什么区别吗?为什么?
  12. Linux下显示IP地理位置信息的小工具—nali(很强大)
  13. mount: unknown filesystem type
  14. 密码学(一):古典密码之维吉尼亚密码原理介绍
  15. 华为 AR系列路由器密码重置
  16. arcgis注记详解
  17. 项目docker容器化部署步骤
  18. Javascript 事件详解
  19. 美团脱颖而出的经验_使用条件格式使重要的Outlook邮件脱颖而出
  20. Defaulting to no-operation (NOP) logger implementation

热门文章

  1. layui多行合并,附示例代码
  2. html中location的用法详解
  3. gta5结局杀老崔我哭了_手机玩不了GTA5?试试这6款开放世界手游,最后1款内存才449K...
  4. 小程序排名第一后怎么精细运营?
  5. Android开发两年,我要跳槽去阿里巴巴了,做个阶段总结
  6. ElasticSearch(搜索引擎)
  7. IDEA如何设置炫酷的高亮代码字体界面
  8. 计算机最低配置有哪些,windows7最低配置要求是什么呢【图解】
  9. 如何从Windows的“无法验证发布者”中解除阻止文件警告
  10. 清空回收站后数据如何恢复?