软件项目中性能测试的概念:
性能测试是指通过特定方式,对被测系统按照一定策略施加压力,获取系统响应时间、TPS(TransactionPerSecond)、吞吐量、资源利用率等性能指标,以期保证生产系统的性能能够满足用户需求的过程。
特定方式:模拟多用户
1、不能用人工模拟 2、程序模拟 ---jmeter loadrunner locust 等
一定策略施加压力:办公OA系统:8:50--9:00需要测试是否满足1000人打卡
性能测试一般包含3个方面:
1、应用在客户端性能的测试:网站前端(js解析数据性能、前端图片资源加载性能等)、手机app本身的性能(占用cou、卡顿、发热、流量等)、c/s程序的client端(客户端,占用cpu等)
前端工程师解决
2、应用在网络上性能的测试:网络设备或网络宽带不够 --花钱解决、运维完成网络优化
3、应用在服务器端性能的测试:模拟大批量请求服务器产生压力(测试工程师做的)
性能测试目的:
1、客户有明确要求,如:系统要求同时满足100用户登陆,平均每个用户登陆时间不能超过5秒
2、考察目前系统性能(容量测试),需要对系统做出分析,找出系统的压力点
测试出目前我们项目的容量,可以最多容纳多少个用户
3、找出系统性能瓶颈,需要分析可能对系统造成瓶颈的逻辑业务,然后才能进行性能测试
找出系统性能薄弱的环节进行加强,比如支付慢、搜索慢等
4、了解系统在长时间的压力下性能状况(强度测试)
测试7天、半个月下的项目性能情况
性能测试环境:
1、硬件环境:被测服务器硬件配置,用于加压客户端的机子配置,CPU内存等
要求:尽量保证和生产环境(线上环境)配置一致,如果经费优先达不到、 也要品牌、架构一致、配置等比例缩小
正式环境 戴尔(DELL)2U 机架式R750XS存储服务器主机 金士顿内存256G 三星SSD 64T
性能环境 戴尔(DELL)2U 机架式R750XS存储服务器主机 金士顿内存256G 三星SSD 64T
生产环境(PRD/PROD):客户使用的真实环境 等于就是你用的淘宝、腾讯网
(客户使用)
需求验证环境(UIT):和生产环境的代码部署一致,主要作用:1、预升级测试
2、线上问题的重现和跟踪 (运维、产品、测试)
测试环境(SIT):测试人进制各项 测试的环境,比如业务功能测试、性能测试、 接口测试、自动化测试 (测试、偶尔开发使用)
开发环境(DEV):开发人员进行代码整合调试的环境
(开发人员使用、测试人员偶尔使用)
l软件环境:被测系统的架构,前端、中间件、服务器(这里指运行系统软件服务器,如tomcat)、数据库、测试环境部署信息以及性能测试工具信息。
要求:保证和生产环境使用的软件版本、以及配置一致
生产环境:tomcat7.2.8 mysql5.7.6 jdk1.8.9 配置文件参数配置
性能环境:tomcat7.2.8 mysql5.7.6 jdk1.8.9 配置文件参数配置
l网络环境:找出系统性能瓶颈可以在广域网环境进行,其它性能测试可以在局域网进行,排除网络干扰
在局域网下进行性能测试,如果出现软件的性能问题,绝对和网络没关系。排除软件性能问题之后,还是需要在广域网进行一次性测试,因为这是真实的网络环境
备注:性能测试的环境要独立于功能测试环境,一般在没有其它干扰被测系统的情况下,进行性能测试。
负载:
模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖。
搬起100斤的物品,这不是负载,1个人搬起100斤的物品在一直走路2小时,这才是负载
负载测试(LoadTesting):(容量测试)
在一定软硬件环境下,通过不断加大负载(不同虚拟用户量)来确定在满足性能指标情况下能够承受的最大用户数。简单说,可以帮我们对系统进行定容定量,找出系统性能的拐点,给予生产环境规划建议。这里的性能指标包括TPS(每秒事务数)、RT(事务平均响应时间)、CPUUsing(CPU利用率)、MemUsing(内存使用情况)等软硬件指标。从操作层面来说,负载测试也是一种性能测试手段,比如下面的配置测试就需要变换不同的负载来进行测试。
微信发红包负载测试: 前提 要求性能指标 cpu80% 内存75% 事务成功率98%
第一步:跟运维去确认目前 统计的 微信发红包每天的用户数有多少,假设3000
用户数 持续红包时间 cpu 内存 事务成功率
3000 2小时 55% 43% 100%
6000 2小时 62% 55% 100%
12000 2小时 75% 75% 99%
24000 2小时 90% 92% 70%
18000 2小时 80% 82% 88%
15000 2小时 75% 72% 98% 拐点
压力、强度测试(EnduranceTesting):在一定软硬件环境下,通过高负载的手段来使服务器资源(强调服务器资源,硬件资源)处于极限状态,测试系统在极限状态下长时间运行是否稳定,确定是否稳定的指标包括TPS、RT、CPUUsing、MemUsing等。
微信发红包压力测试:前提 负载 15000
公司里面先做负载测试在做压力测试
瞬间的高压:
用户数 发红包时间 cpu 内存 事务成功率
15500 1次 ? ? ?
长时间的高负载:
用户数 发红包时间 cpu 内存 事务成功率
14900 3天--2周(至少三天)
标签:负载,性能,环境,概念,内存,测试,服务器 From: https://www.cnblogs.com/yh8013/p/17245285.html