2021-02-26 14:40发布
一、平均响应时间:在每一个采样时间段,多个并发事务的平均响应时间;
二、百分比响应时间:在某次测试中,有百分之y的请求,其响应时间在x秒以内;
三、每秒事务数:针对每个选定的事务,在并发场景下,平均每秒服务器能处理完成多少次;
四、Throuput:每秒从服务器发送到网络的数据量;
五、Hit Per Second 简称HPS,代表服务器每秒接受多少次请求;
六、事务成功率:测试时间内,成功事务数占所有事务数的百分比。
什么是性能测试?
压力测试:强调极端暴力
稳定性测试:在一定压力下,长时间运行的情况
基准测试:在特定条件下的性能测试
负载测试:不同负载下的表现
容量测试:最优容量
外部指标
从外部看,性能测试主要关注如下三个指标
吞吐量:每秒钟系统能够处理的请求数、任务数。
响应时间:服务处理一个请求或一个任务的耗时。
错误率:一批请求中结果出错的请求所占比例。
内部指标
从服务器的角度看,性能测试主要关注CPU、内存、服务器负载、网络、磁盘IO等
CPU
后台服务的所有指令和数据处理都是由CPU负责,服务对CPU的利用率对服务的性能起着决定性的作用。
Linux系统的CPU主要有如下几个维度的统计数据
us:用户态使用的cpu时间百分比
sy:系统态使用的cpu时间百分比
ni:用做nice加权的进程分配的用户态cpu时间百分比
id:空闲的cpu时间百分比
wa:cpu等待IO完成时间百分比
hi:硬中断消耗时间百分比
si:软中断消耗时间百分比
常见性能瓶颈
吞吐量到上限时系统负载未到阈值:一般是被测服务分配的系统资源过少导致的。测试过程中如果发现此类情况,可以从ulimit、系统开启的线程数、分配的内存等维度定位问题原因
CPU的us和sy不高,但wa很高:如果被测服务是磁盘IO密集型型服务,wa高属于正常现象。但如果不是此类服务,最可能导致wa高的原因有两个,一是服务对磁盘读写的业务逻辑有问题,读写频率过高,写入数据量过大,如不合理的数据载入策略、log过多等,都有可能导致这种问题。二是服务器内存不足,服务在swap分区不停的换入换出。
同一请求的响应时间忽大忽小:在正常吞吐量下发生此问题,可能的原因有两方面,一是服务对资源的加锁逻辑有问题,导致处理某些请求过程中花了大量的时间等待资源解锁;二是Linux本身分配给服务的资源有限,某些请求需要等待其他请求释放资源后才能继续执行。
内存持续上涨:在吞吐量固定的前提下,如果内存持续上涨,那么很有可能是被测服务存在明显的内存泄漏,需要使用valgrind等内存检查工具进行定位。
一、响应时间
从发起请求到收到请求响应的时间
网络传输时间: t1 t4
服务器处理时间: t2 t3
二、并发/并发数/并发用户数
并发:
狭义:同一时间做相同的事情
广义:同一时间做不同事情、混合场景
性能测试:简单的狭义并发、然后再广义的并发,即:先做简单接口性能测试、在做业务性能测试、最后做混合业务场景性能测试
并发数:单位时间内向服务器发起请求的用户数
并发用户数:用于模拟真实用户想服务器发起请求的性能测试虚拟用户数量
系统用户数:只要访问难过系统的用户、肯呢个一次含有一次性访问的用户
在线用户数:当前正在访问的系统用户,不一定有压力
三、TPS(transaction per second)— —最主要的性能指标
每秒通过的事物数
服务器处理事务数
四、吞吐量/吞吐率(事物/s Kb/s)
吞吐量
事物数
吞吐率
五、资源利用率
内存
磁盘
I/O 磁盘的换入换出
六、开展性能测试的必要条件:
网络要求 内网(zoom域) 外网 独立分开 千万不要夸内网和外网
独立环境 功能测试不能喝性能测试共用环境
RT:响应时间TPS:每秒完成事务数CPU性能指标:利用率、负载Mem:内存性能指标,可用物理内存、虚拟内存使用率Disk:磁盘性能指标,Disk Time、IO等待NetWork:网络指标,带宽使用率、任务队列长度TCP连接数,可以用netstat命令统计得到中间件建立的线程池,监控线程状态JVM性能指标,GC情况、Heap使用情况CPU负载队列长度服务器与中间件之间建立的连接数及连接状态一般性能分析的过程序号 步骤名称 说明1 检查RT 客户端响应时间2 检查TPS TPS大时RT小, 说明性能良好3 检查负载机资源消耗 检查CPU使用率4 检查被压服务器的资源消耗 CPU 、 内存、磁盘IO、带宽、响应时间5 检查中间件配置 确定是否有配置参数问题6 数据库服务器 CPU、内存、IO繁忙程度、数据库监控。
1、CPU使用率
2、Memory使用率
3、TPS
4、响应时间
5、网络IO
6、文件IO
7、数据库IO
8、最大支持用户数
等等。
当然以上指标并不是都要收集和给出,要根据具体的场景和分析来决定。
在测试前,应该对测试结果有一个初步的估计。比如,性能(IO/CPU)应该是提升,还是降低,大概幅度会有多少。这样当测试结果与预估偏差极远时,很可能测试的过程或者方法是有问题的。1) 如果是已有模块,可以参考改模块历史的测试数据。看变化是否合理。2)...
响应时间、并发用户数、TPS、吞吐量、CPU利用率、内存使用率、在线并发用户数等
性能测试是基于功能、接口完整的情况下,对服务端进行压力测试、负载测试、疲劳测试、并发测试,来发现性能瓶颈。一、负载测试。负载测试的目的主要是为了测试软件系统是否达到需求文档设计的目标;例如一款软件在一定时期内,最大支持多少并发用户数,软件请...
测试模型V模型测试阶段:单元测试集成测试系统测试瀑布模型瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了...
一、准备工作在什么阶段开展性能测试工作?一般情况下,是在被测系统已完成功能测试、系统趋于稳定的情况下,才会进行性能测试。1. 组建测试团队根据被测系统的实际情况,组建一个性能测试团队,团队成员包括:开发人员、运维人员、DBA和测试人员等。2. 性能需...
性能测试针对场景来讲的,在不同的场景,得出性能指标值。这些场景是真实环境有可能出现的。常见场景——压力测试,是否能长期提供服务
上面看,运行结果没有任何提示,也不知道运行到什么程度,相当不友好,那我们来美化一下吧!等等!这是个死循环,通过脚本运行自己,所以会永远运行下去。我的天,幸好发现得早。现在 更换authTest.sh,原因是这个是要运行eaidkAuth文件的,因此需要更改,否...
对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了,其次,自己去读开发的代码。然后,根据该接口功能及代码写测试用例:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果,根据该接口中的逻辑,测...
越老越吃香,可以干到退休
一、准备工作1、系统基础功能验证性能测试在什么阶段适合实施?切入点很重要!一般而言,只有在系统基础功能测试验证完成、系统趋于稳定的情况下,才会进行性能测试,否则性能测试是无意义的。2、测试团队组建根据该项目的具体情况,组建一个几人的性能测试te...
Testing script(测试脚本),一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。 为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建。或许会发现这样的情况,即有的操作将出现在几个测试过程中。因此,应有...
1、负载测试;通过自动化测试工具模拟程序或者软件系统在超强负荷条件下,观察系统各项性能指标的变化情况,一般与压力测试共同进行。2、强度测试;指系统在资源条件很差工作环境下的运行情况,如人为限制网络带宽,内存等。3、容量测试;一般指...
吞吐量指在一次性能测试过程中网络上传输的数据量的总和。对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值...
当前业界常见的服务器性能指标有:TPC-CTPC-ETPC-HSPECjbb2005SPECjEnterprise2010SPECint2006 及 SPECint_rate_2006SPECfp2006 及 SPECfp_rate_2006SAP SD 2-TierLINPACKRPE2一、TPC (Transaction Processing Performance Council) 即联机交......
在每种不同的系统架构的实施中,开发人员可能选择不bai同的实现方式,造成实际情况纷繁复杂。我们不可能对每种技术都详细解说,这里只是介绍一种方法提供给你如何选择测试策略,从而帮助分析软件不同部分的性能指标,进而分析出整体架构的性能指标和性能瓶颈...
一、B/S架构需要关注WEB服务器的性能指标Avg Rps: 平均每秒响应的次数=总请求时间/秒数Avg time to last byte per terstion:平均每秒业务脚本的迭代次数Successful Rounds:成功的请求Failed Rounds:失败的请求Successful Hits:成功的单击次数Failed Hits:失败...
最多设置5个标签!
一、平均响应时间:在每一个采样时间段,多个并发事务的平均响应时间;
二、百分比响应时间:在某次测试中,有百分之y的请求,其响应时间在x秒以内;
三、每秒事务数:针对每个选定的事务,在并发场景下,平均每秒服务器能处理完成多少次;
四、Throuput:每秒从服务器发送到网络的数据量;
五、Hit Per Second 简称HPS,代表服务器每秒接受多少次请求;
六、事务成功率:测试时间内,成功事务数占所有事务数的百分比。
什么是性能测试?
压力测试:强调极端暴力
稳定性测试:在一定压力下,长时间运行的情况
基准测试:在特定条件下的性能测试
负载测试:不同负载下的表现
容量测试:最优容量
外部指标
从外部看,性能测试主要关注如下三个指标
吞吐量:每秒钟系统能够处理的请求数、任务数。
响应时间:服务处理一个请求或一个任务的耗时。
错误率:一批请求中结果出错的请求所占比例。
内部指标
从服务器的角度看,性能测试主要关注CPU、内存、服务器负载、网络、磁盘IO等
CPU
后台服务的所有指令和数据处理都是由CPU负责,服务对CPU的利用率对服务的性能起着决定性的作用。
Linux系统的CPU主要有如下几个维度的统计数据
us:用户态使用的cpu时间百分比
sy:系统态使用的cpu时间百分比
ni:用做nice加权的进程分配的用户态cpu时间百分比
id:空闲的cpu时间百分比
wa:cpu等待IO完成时间百分比
hi:硬中断消耗时间百分比
si:软中断消耗时间百分比
常见性能瓶颈
吞吐量到上限时系统负载未到阈值:一般是被测服务分配的系统资源过少导致的。测试过程中如果发现此类情况,可以从ulimit、系统开启的线程数、分配的内存等维度定位问题原因
CPU的us和sy不高,但wa很高:如果被测服务是磁盘IO密集型型服务,wa高属于正常现象。但如果不是此类服务,最可能导致wa高的原因有两个,一是服务对磁盘读写的业务逻辑有问题,读写频率过高,写入数据量过大,如不合理的数据载入策略、log过多等,都有可能导致这种问题。二是服务器内存不足,服务在swap分区不停的换入换出。
同一请求的响应时间忽大忽小:在正常吞吐量下发生此问题,可能的原因有两方面,一是服务对资源的加锁逻辑有问题,导致处理某些请求过程中花了大量的时间等待资源解锁;二是Linux本身分配给服务的资源有限,某些请求需要等待其他请求释放资源后才能继续执行。
内存持续上涨:在吞吐量固定的前提下,如果内存持续上涨,那么很有可能是被测服务存在明显的内存泄漏,需要使用valgrind等内存检查工具进行定位。
一、响应时间
从发起请求到收到请求响应的时间
网络传输时间: t1 t4
服务器处理时间: t2 t3
二、并发/并发数/并发用户数
并发:
狭义:同一时间做相同的事情
广义:同一时间做不同事情、混合场景
性能测试:简单的狭义并发、然后再广义的并发,即:先做简单接口性能测试、在做业务性能测试、最后做混合业务场景性能测试
并发数:单位时间内向服务器发起请求的用户数
并发用户数:用于模拟真实用户想服务器发起请求的性能测试虚拟用户数量
系统用户数:只要访问难过系统的用户、肯呢个一次含有一次性访问的用户
在线用户数:当前正在访问的系统用户,不一定有压力
三、TPS(transaction per second)— —最主要的性能指标
每秒通过的事物数
服务器处理事务数
四、吞吐量/吞吐率(事物/s Kb/s)
吞吐量
事物数
吞吐率
五、资源利用率
CPU
内存
磁盘
I/O 磁盘的换入换出
六、开展性能测试的必要条件:
网络要求 内网(zoom域) 外网 独立分开 千万不要夸内网和外网
独立环境 功能测试不能喝性能测试共用环境
RT:响应时间
TPS:每秒完成事务数
CPU性能指标:利用率、负载
Mem:内存性能指标,可用物理内存、虚拟内存使用率
Disk:磁盘性能指标,Disk Time、IO等待
NetWork:网络指标,带宽使用率、任务队列长度
TCP连接数,可以用netstat命令统计得到
中间件建立的线程池,监控线程状态
JVM性能指标,GC情况、Heap使用情况
CPU负载队列长度
服务器与中间件之间建立的连接数及连接状态
一般性能分析的过程
序号 步骤名称 说明
1 检查RT 客户端响应时间
2 检查TPS TPS大时RT小, 说明性能良好
3 检查负载机资源消耗 检查CPU使用率
4 检查被压服务器的资源消耗 CPU 、 内存、磁盘IO、带宽、响应时间
5 检查中间件配置 确定是否有配置参数问题
6 数据库服务器 CPU、内存、IO繁忙程度、数据库监控。
1、CPU使用率
2、Memory使用率
3、TPS
4、响应时间
5、网络IO
6、文件IO
7、数据库IO
8、最大支持用户数
等等。
当然以上指标并不是都要收集和给出,要根据具体的场景和分析来决定。
相关问题推荐
在测试前,应该对测试结果有一个初步的估计。比如,性能(IO/CPU)应该是提升,还是降低,大概幅度会有多少。这样当测试结果与预估偏差极远时,很可能测试的过程或者方法是有问题的。1) 如果是已有模块,可以参考改模块历史的测试数据。看变化是否合理。2)...
响应时间、并发用户数、TPS、吞吐量、CPU利用率、内存使用率、在线并发用户数等
性能测试是基于功能、接口完整的情况下,对服务端进行压力测试、负载测试、疲劳测试、并发测试,来发现性能瓶颈。一、负载测试。负载测试的目的主要是为了测试软件系统是否达到需求文档设计的目标;例如一款软件在一定时期内,最大支持多少并发用户数,软件请...
测试模型V模型测试阶段:单元测试集成测试系统测试瀑布模型瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了...
一、准备工作在什么阶段开展性能测试工作?一般情况下,是在被测系统已完成功能测试、系统趋于稳定的情况下,才会进行性能测试。1. 组建测试团队根据被测系统的实际情况,组建一个性能测试团队,团队成员包括:开发人员、运维人员、DBA和测试人员等。2. 性能需...
性能测试针对场景来讲的,在不同的场景,得出性能指标值。这些场景是真实环境有可能出现的。常见场景——压力测试,是否能长期提供服务
上面看,运行结果没有任何提示,也不知道运行到什么程度,相当不友好,那我们来美化一下吧!等等!这是个死循环,通过脚本运行自己,所以会永远运行下去。我的天,幸好发现得早。现在 更换authTest.sh,原因是这个是要运行eaidkAuth文件的,因此需要更改,否...
对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了,其次,自己去读开发的代码。然后,根据该接口功能及代码写测试用例:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果,根据该接口中的逻辑,测...
越老越吃香,可以干到退休
一、准备工作1、系统基础功能验证性能测试在什么阶段适合实施?切入点很重要!一般而言,只有在系统基础功能测试验证完成、系统趋于稳定的情况下,才会进行性能测试,否则性能测试是无意义的。2、测试团队组建根据该项目的具体情况,组建一个几人的性能测试te...
Testing script(测试脚本),一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。 为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建。或许会发现这样的情况,即有的操作将出现在几个测试过程中。因此,应有...
1、负载测试;通过自动化测试工具模拟程序或者软件系统在超强负荷条件下,观察系统各项性能指标的变化情况,一般与压力测试共同进行。2、强度测试;指系统在资源条件很差工作环境下的运行情况,如人为限制网络带宽,内存等。3、容量测试;一般指...
吞吐量指在一次性能测试过程中网络上传输的数据量的总和。对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值...
当前业界常见的服务器性能指标有:TPC-CTPC-ETPC-HSPECjbb2005SPECjEnterprise2010SPECint2006 及 SPECint_rate_2006SPECfp2006 及 SPECfp_rate_2006SAP SD 2-TierLINPACKRPE2一、TPC (Transaction Processing Performance Council) 即联机交......
在每种不同的系统架构的实施中,开发人员可能选择不bai同的实现方式,造成实际情况纷繁复杂。我们不可能对每种技术都详细解说,这里只是介绍一种方法提供给你如何选择测试策略,从而帮助分析软件不同部分的性能指标,进而分析出整体架构的性能指标和性能瓶颈...
一、B/S架构需要关注WEB服务器的性能指标Avg Rps: 平均每秒响应的次数=总请求时间/秒数Avg time to last byte per terstion:平均每秒业务脚本的迭代次数Successful Rounds:成功的请求Failed Rounds:失败的请求Successful Hits:成功的单击次数Failed Hits:失败...