网站性能指标入门

网站性能指标入门,第1张

        常用网络性能指标包括:并发数、响应时间、吞吐量、PV和UV。

        并发数:系统能够同时处理的请求数量,反应系统的负载能力。一般为请求无等待的最佳并发数。最佳并发数,当系统的负载等于最佳并发数时,系统的整体效率最高,没有资源被浪费,请求也不需要等待。最大并发数,系统的负载一直持续,有些请求在处理而有的请求在自己最大的等待时间内等待的时候。最佳并发数需要大于系统的平均负载,最大并发用户数需要大于系统需要承受的峰值负载。

        响应时间:从发出请求到收到响应数据所花费的总体时间,反应系统的快慢,包括网络响应时间和应用程序响应时间两部分。

        吞吐量(Throughput):单位时间内系统能处理的请求数量,体现系统处理请求的能力,常用量化指标包括QPS(每秒查询数)、TPS(每秒事务数)、HPS(每秒>常见的性能测试方法有以下几种:
1.负载测试
在这里,负载测试指的是最常见的验证一般性能需求而进行的性能测试,在上面我们提到了用户最常见的性能需求就是“既要马儿跑,又要马儿少吃草”。因此负载测试主要是考察软件系统在既定负载下的性能表现。我们对负载测试可以有如下理解:
(1)负载测试是站在用户的角度去观察在一定条件下软件系统的性能表现。
(2)负载测试的预期结果是用户的性能需求得到满足。此指标一般体现为响应时间、交易容量、并发容量、资源使用率等。
2.压力测试
压力测试是为了考察系统在极端条件下的表现,极端条件可以是超负荷的交易量和并发用户数。注意,这个极端条件并不一定是用户的性能需求,可能要远远高于用户的性能需求。可以这样理解,压力测试和负载测试不同的是,压力测试的预期结果就是系统出现问题,而我们要考察的是系统处理问题的方式。比如说,我们期待一个系统在面临压力的情况下能够保持稳定,处理速度可以变慢,但不能系统崩溃。因此,压力测试是能让我们识别系统的弱点和在极限负载下程序将如何运行。
3.并发测试
验证系统的并发处理能力。一般是和服务器端建立大量的并发连接,通过客户端的响应时间和服务器端的性能监测情况来判断系统是否达到了既定的并发能力指标。负载测试往往就会使用并发来创造负载,之所以把并发测试单独提出来,是因为并发测试往往涉及服务器的并发容量,以及多进程/多线程协调同步可能带来的问题。这是要特别注意,必须测试的。
4.基准测试
当软件系统中增加一个新的模块的时候,需要做基准测试,以判断新模块对整个软件系统的性能影响。按照基准测试的方法,需要打开/关闭新模块至少各做一次测试。关闭模块之前的系统各个性能指标记下来作为基准(Benchmark),然后与打开模块状态下的系统性能指标作比较,以判断模块对系统性能的影响。
5.稳定性测试
“路遥知马力”,在这里我们要说的是和性能测试有关的稳定性测试,即测试系统在一定负载下运行长时间后是否会发生问题。软件系统的有些问题是不能一下子就暴露出来的,或者说是需要时间积累才能达到能够度量的程度。
6.可恢复测试
测试系统能否快速地从错误状态中恢复到正常状态。比如,在一个配有负载均衡的系统中,主机承受了压力无法正常工作后,备份机是否能够快速地接管负载。可恢复测试通常结合压力测试一起来做。
提示:每种测试有其存在的空间和目的。当我们接手一个软件项目后,在有限的资源条件下,选择去做哪一种测试,这应该根据当前软件过程阶段和项目的本身特点来做选择。比如,在集成测试的时候要做基准测试,在软件产品每个发布点要做性能测试。

企业购买服务器当然是为满足特定需要。针对不同需求,我们要关注的性能指标也不同。举例来说,对于数据库服务器,联机事物处理能力是最需着力考察的指标。TPC-C是“事务处理性能委员会”(TPC)负责制订的基准测试指标,考察联机事务处理每分钟吞吐量。而TPC-C测试结果又包括两个指标,一个是流量指标tpmC,这个值越大越好;另一个是性价比指标Price/tpmC,指的是测试系统价格与流量指标的比值,这个值则越小越好。以IBM公司的x366为例子,根据TPC官方网站,TPC-C在线交易基准测试中,x366的流量指标达到了141504tpmC,是4路至强芯片服务器的世界纪录。
再比如说,购买Web服务器时,最重要的性能指标就应该是SPEC web99。SPEC web99为Web用户提供了用于评测系统用作Web服务器能力的最客观、最具代表性的基准; 而如果是选购应用服务器,关注SPEC jbb200和SAP SD这两个指标就能知道大概其了,因为SPEC jbb200是专门用来评估服务器系统运行Java应用程序能力的基准测试,而SAP SD 的测试结果为客户提供了基本的规模建议。

写在前面

性能测试过程中,需要收集执行过程中的指标进行后期分析。因此,在需求分析阶段,就需要确定,在本次性能测试中,需要收集哪些性能指标以及定义性能指标的可接受范围。

常见性能指标

并发性、扩展性

一般考虑并发用户数,如果有历史数据,就根据历史数据按小时统计结果去计算分析并发数(通常考虑最高峰的时间段)。

除了考虑当前系统能够承受的并发数外,还要考虑系统的扩展性,找出系统的容量有多少扩展空间。

吞吐量

一般表示每秒处理的请求数或者每秒处理的页面数。

响应时间

请求从发出到收到服务器响应的时间。

网络容量

每个应用程序都通过网络传送数据,这会对性能产生多大的影响取决于服务器与最终用户之间的可用带宽大小。

服务器容量

CPU

使用率、队列、上下文切换

内存

可用内存、swap交换占用、页面交换

磁盘I/O

存取数据中的I/O *** 作

收集windows服务器端的性能指标

windows服务器上收集指标,通常采用windows自带的性能监视器,在开始菜单栏中输入perfmon或性能监视器即可进入。

性能监视器可以自定义要收集的数据及采集周期,并存储于csv文件中。

png

参考资料:

>性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。通俗地说,这种方法就是要在特定的运行条件下验证系统的能力状态。
特点:
1、这种方法的主要目的是验证系统是否有系统宣称具有的能力。
2、这种方法要事先了解被测试系统经典场景,并具有确定的性能目标。
3、这种方法要求在已经确定的环境下运行。
也就是说,这种方法是对系统性能已经有了解的前提,并对需求有明确的目标,并在已经确定的环境下进行的。

通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或某种资源已经达到饱和状态。
特点:
1、这种性能测试方法的主要目的是找到系统处理能力的极限。
2、这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力量和典型场景、使得测试结果具有业务上的意义。
3、这种性能测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。
也就是说,这种方法是对一个系统持续不段的加压,看你在什么时候已经超出“我的要求”或系统崩溃。
负载测试方法是对系统或设备进行增加压力并测量其性能指标的过程。执行负载测试以在正常和峰值负载条件下找出系统的行为。有助于指定应用程序的极限 *** 作量以及任何瓶颈,以便隔离导致降级的组件。换一种说法,麻烦制造者。

压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误
特点:
1、这种性能测试方法的主要目的是检查系统处于压力性能下时,应用的表现。
2、这种性能测试一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。
3、这种性能测试方法一般用于测试系统的稳定性。
也就是说,这种测试是让系统处在很大强度的压力之下,看系统是否稳定,哪里会出问题。
当系统上的负载超出标准使用模式,以检查异常极端或最高负载下的系统反应时,这就是压力测试。负荷通常如此之大以至于错误条件是预期的结果,但是当活动不再是负荷测试并且变成压力测试时,不存在明确的边界。

并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题。
特点:
1、这种性能测试方法的主要目的是发现系统中可能隐藏的并发访问时的问题。
2、这种性能测试方法主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题。
3、这种性能测试方法可以在开发的各个阶段使用需要相关的测试工具的配合和支持。
也就是说,这种测试关注点是多个用户同时(并发)对一个模块或 *** 作进行加压。
其主要目的是发现系统中可能隐藏的并发访问时的问题。例如内存泄漏、线程死锁、资源争用等。

配置测试方法通过对被测系统的软\硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配原则。
特点:
1、这种性能测试方法的主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优 *** 作。
2、这种性能测试方法一般在对系统性能状况有初步了解后进行。
3、这种性能测试方法一般用于性能调优和规划能力。
也就是说,这种测试关注点是“微调”,通过对软硬件的不段调整,找出这他们的最佳状态,使系统达到一个最强的状态。

基准测试是通过科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的可对比的测试;可测量、可重复、可对比是基准测试的三大准则(取自百度百科)

其主要目的是为对某项性能指标(或业务指标)与某一基线指标相对比的测试过程(可对比)

在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。
特点:
1、这种性能测试方法的主要目的是验证是否支持长期稳定的运行。
2、这种性能测试方法需要在压力下持续一段时间的运行。(2~3天)
3、测试过程中需要关注系统的运行状况。

可靠性测试是为了评估产品在规定的寿命期间内、在预期的使用、运输或储存等所有环境下、保持功能可靠性而运动的活动,是将产品暴漏在自然或人工的条件下经受其作用,以评价产品在实际应用、运输的环境条件下的性能,并分析研究环境因素的影响程度以及其工作机制。。。。

其实可靠性测试的概念大致概念就是通过给系统加载一定的业务压力(例如资源在70%~90%的使用率),让应用持续运行一段时间,测试系统在这种条件下能否稳定运行。
也就是说,这种测试的关注点是“稳定”,不需要给系统太大的压力,只要系统能够长期处于一个稳定的状态。

稳定性测试是就测试系统长期稳定运行的能力,在系统的运行过程中,对系统进行施压,观察系统的各项性能指标,以及服务器指标。

其主要目的在与系统长期处于压力下的运行能力(或者正常业务压力下);在测试过程中尽量延长测试时间,增大压力来提高测试的可靠性。
容量测试:(Capacity Testing)

容量测试,顾名思义,大致概念偏向于负载测试(百度百科巴拉巴拉,不再粘贴)

扩展性测试:(Extensibility Testing)

通常说的水平伸展(也是高并发系统中的一个重要因素),何谓水平伸展,在保证系统性能的情况下,可以通过增加机器来释放系统压力,谓之水平伸展。

失效恢复测试是针对有冗余备份和负载均衡的系统设计的。该测试方法可以用来检验如果系统局部发生故障,用户是否能够继续使用系统,以及如果这种情况发生,用户将收到多大程度的影响。

特点:
(1)主要目的在于验证在局部故障情况下、系统能否继续使用;一般的关键业务系统都会采用热备份或负载均衡的方式来实现。这种业务系统一般要求如果有一台或者几台服务器发生故障,应用系统仍然能够正常执行业务。测试时可以模拟服务器故障,观察恢复技术是否能够发挥作用。

(2)这种性能测试方法还需要指出,当问题发生后系统能够支持多少用户访问的概念或者采取某种应急措施的方案。

(3)一般来说,只有对系统持续运行指标有明确要求的系统才需要进行这种类型的测试。不是所有的系统都需要进行该测试的。

浪涌测试是中模拟加压的场景测试,固定的线程数量在不同的时间内持续运行相同的时间。

例如:
10个线程在10s启动,持续运行10s,10s停止。

10个线程在20s启动,持续运行10s,10s停止。

10个线程在30s启动,持续运行10s,10s停止。

接口性能测试方案 白皮书 V10

性能常关注指标

计算机系统主要性能指标: 1)字:字CPU能够直接处理二进制数据位数直接关系计算机计算精度、功能速度字越处理能力越强见微机字8位、16位32位 2)运算速度:运算速度指计算机每秒所能执行指令条数般用MIPS单位 3)主频:主频指计算机钟频率单位用MHz表示 4)内存容量:内存容量指内存储器能够存储信息总字节数般KB、MB单位 5)外设配置:外设指计算机输入/输设备

当随着用户数的增加,响应时间应随着上下波动,但是如果事物相应时间有严重波动,就需要分析问题所在处
如果在某个时间段内错误数量增加,那就需要观看此时间段的其他指标变化

平均事物响应时间随着时间、用户数的波动而波动

如果在某个时间段响应时间变慢但是马上又变快了,说明可能是服务器处理能力强,也可能是处理能力差出现大量错误

如果没波动取平均响应时间,如果波动大取如:90percent time

TPS越高说明系统处理能力强,主要看走势图

如果出现平缓那么服务器可能出问题了

如果在某个时间段内,失败事物数增加,成功事物数减少,说明系统瓶颈有问题

1)和平均事物响应时间

如果点击数减少,请求数量变少,但是响应时间却增加

或者是,请求数量增加,但是响应时间变少 → 可能是网络问题

2)和吞吐量

如果点击数增多,流量肯定该增大

如果点击数增多,但是吞吐量减少,等不正常

有可能是服务器处理能力降低造成的

3)每秒点击数和每秒事物数

如果HPS和TPS的曲线出现平缓或者平坦,服务器响应时间增加

如果请求减少,而通过的事物数增加

或者,请求数量增加,而通过事物数减少,那么服务器存在瓶颈

如果吞吐量比较平,那么宽带有瓶颈

如果吞吐量和TPS图基本一致,如果平了,说明网络瓶颈了

一般都是和HPS关联,如果客户端发送了N个请求,但是>1吞吐量(Throughput):指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。通常情况下,吞吐量用“请求数/秒”或者“页面数/分钟”来衡量。
2并发(Concurrency):它最简单的描述就是指多个同时发生的请求 *** 作。(例如,1000个用户同时单击点击生成订单的 *** 作。)
3响应时间:指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回结果整个过程所耗费的时间
4点击数:是衡量Web服务器处理能力的一个重要指标。它的统计是客户端向Web服务器发了多少次>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12637271.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存