性能测试:
性能测试:就是通过负载测试,知道tps的最大值。
注解:tps:就是最大处理能力
(1)通过工具,找出或获得系统在不同工况下的性能指标值
如:你跑100米、用是多少?运动员100米、时间、心跳、步伐频率
(2)性能测试关注的是系统性能是否和具体的性能需求相一致,而当系统性能超过性能需求的时候,系统的表现并不是测试人员关心的重点。
例如:性能需求中要求系统应该支持最大同时在线用户为5000个,那么在性能测试过程中重点测试系统是否能支持5000个用户同时在线;当有5000个用户同时在线后,性能测试需要关注整个系统的运行是否符合要求;而对于在线用户超过5000人的时候,系统的表现行为并不是性能测试需要关注的。
(3)不同的性能的度量方法取决于不同的被测对象
对于一个单独软件组件,其性能可以根据CPU主频来判定。而带客户端的系统,其性能则要根据系统处理特定用户请求的响应时间来判定。对于那些由多种组件(如客户端、服务器、数据库)构成的系统,则要进行各组件之间的性能测试。
(4)关于响应时间的性能需求描述:
- 对于多媒体交互系统,在90%的时间内系统响应时间应该不超过0.1秒;
- 对于每个用户同时只有一项任务的在线系统,在90%的时间内系统响应 时间应该不超过0.5秒;
- 对于每个用户同时有多任务的在线系统,在90%的时间内系统响应时间应该不超过1秒。
负载测试
性能的测试方法之一
- 逐步增加系统负载,测试系统性能变化,并最终确定系统所能承受的最大负载量(负载测试和性能测试的主要区别)
- 负载测试需要观察系统在各种不同的负载情况下是否都能够正常工作。
例如:通过增加并发用户数和(或)事务数量来测量组件或系统能够承受的负载。
可以发现随着用户数目的增加,系统响应时间也跟着增加。当在线用户数到700以后,系统响应时间增速明显加快。当然响应时间只是需要观察的数据之一,随着测试负载的增加还需要观察系统资源等占有情况。
负载测试:逐步增加压力,每次10即可,可以快速找到系统的平衡值。
最大负载值:平衡的值怎么看,看服务器的处理能力在下降,响应时间长,会报错。
问题:如何让一个系统的压力越来越大?
增加并发量、并发数。让更多人请求,服务器处理的东西更多。
逐步的增加人,把人来增加起来,这个就是增加并发量。
负载测试不需要很长时间。每次增加10个人,每次增加100人。
阶梯人数没有要求,要看系统的真实情况。
每天访问量几百万,基本上只需要增加10即可,找到平衡值就行。
上千万、上亿,那几百的阶梯。
50个并发用户的访问量,已经模拟了400万左右的访问量了。
每次增加10个即可,不用很长时间。(0-10-20-30)
压力测试
(1)压力测试是评估系统处于或超过预期负载时系统的运行情况
(2)压力测试的关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。(3)在压力级别逐渐增加时,系统性能应该按照预期缓慢下降,但是不应该崩溃。压力测试还可以发现系统崩溃的临界点,从而发现系统中的薄弱环节。
例如:系统最大支持的同时在线用户数是1000个,压力测试需要测试在1000个用户甚至2000个用户同时在线时系统的表现。虽然测试时负载已经超过了系统的设计能力,但是在这种情况下被测试系统也不应该发生崩溃。压力测试也可以针对系统资源进行测试,例如:在系统内存耗尽情况下,测试系统的运行情况,这种情况下被测试系统也不应该崩溃。
(4)用于看服务器的稳定性:
在较大的性能压力下,持续运行一个比较长的时间,看系统服务及各个资源利用情况
关键词:较大压力+较长时间
压7天,比如我是500万的访问量,用户数大概60-70之间,那我压测,就用60个用户,持续不间断的24小时倍数的压。
目的:看服务器是否稳定。
压测企业的概念:
要验证系统的稳定性。
如果不是为了验证服务器稳定,让你去压测,是想找指标,三个一起做。
如果为了验证服务器稳定,是让你去做压力测试。
系统的稳定性排查方式:
有没有日积月累的数据放在内存,cpu没有得到释放,(前期压力测试)
可靠性测试:
在一定的业务压力下,持续运行一段时间,查看系统是否稳定
关键词:是否稳定,一定的业务压力
可靠性,可能会低一点,比如负载是60,用低一点的来测试。
watchdog有一个临时拉起的功能。
企业需要考虑,容量测试:
在一定的软、硬件条件下,在数据库不同数量级数据量的情况时,对系统中读、写比较多的业务进行测试,从而获得不同数据量级下的性能指标值
特别是toc的(约束理论)
数据量级就要看数据库的索引
关键词:不同数据量级
MySQL的关系型数据库,数据库百万、千万级数据库
redis非关系型数据库,mongodb来寸
关系型数据库转化成非关系型数据库
目的:
寻找或证明系统的某些关键性性能指标
1、全新系统,从未做性能测试,
寻找关键性的性能指标值
2、基于已有的性能测试基础上,再次做性能测试,
验证预定的性能指标值
随着版本的更新迭代后,性能是否下降
注意点:
阿里云,选择地区要离你近,网速快。
性能测试的时候,肯定要选择有线网络。
笔记本连wifi测试,都是白费
民用网络和公司光纤不一样。
生产服务器,堡垒机、跳板机进去的,为了保证安全防护等级。
性能测试一定不要这样。
公司有内网、外网,不要切换做性能测试。
理想情况:小局域网。不要vpn、堡垒机、跳板机。需要搭建性能环境。
云服务器:保证生产和真实环境上一致。
网络不稳、路由走的更远,会造成差异很大。