能压力测试指标计算公式?性能指标有哪些

精选笔记 bchgfjyf56547 2024-04-10 12:14 9 0

一、什么是压力测试

传统上所谓压力测试(stress testing)是指将整个金融机构或资产组合置于某一特定的(主观想象的)极端市场情况下,如假设利率骤升100个基本点。

某一货币突然贬值30%,股价暴跌20%等异常的市场变化,然后测试该金融机构或资产组合在这些关键市场变量突变的压力下的表现状况,看是否能经受得起这种市场的突变。

压力测试

在软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。

目的

目的是在软件投入使用以前或软件负载达到极限以前,通过执行可重复的负载测试,了解系统可靠性、性能瓶颈等,以提高软件系统的可靠性、稳定性,减少系统的宕机时间和因此带来的损失。

压力测试

情境压力测试即主体向被观察者布置一定任务和作业,借以观察个体完成任务的行为。工作样本测验、无领导小组讨论都可算作情境压力测验。

在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个 Web站点在大量的负荷下,何时系统的响应会退化或失败。网络游戏中也常用到这个词汇。

网络定义:

2009年9月7日下午,移动公司开商务车装载200多部电信手机,在温州某大学边上不停拨打,导致电信网络瘫痪。电信发现后连车带人押送到公安局,在公安局,移动自称没有违法,只是帮电信做压力测试。

“压力测试”与俯卧撑、打酱油等词汇一样,成为网络流行词汇。

压力测试、终端机性能功率、各项性能趋势指标等。

目标

识别那些可能提高异常利润或损失发生概率的事件或情境,度量这些事件发生时银行资本充足率状况。测试的质量取决于构造合理、清晰、全面的情景。

银行的压力测试通常包括信用风险、市场风险、操作风险、其他风险等方面内容。压力测试中,商业银行应考虑不同风险之间的相互作用和共同影响。

压力测试包括敏感性测试和情景测试等具体方法。敏感性测试旨在测量单个重要风险因素或少数几项关系密切的因素由于假设变动对银行风险暴露和银行承受风险能力的影响。情景测试是假设分析多个风险因素同时发生变化以及某些极端不利事件发生对银行风险暴露和银行承受风险能力的影响。

压力测试能够帮助商业银行充分了解潜在风险因素与银行财务状况之间的关系,深入分析银行抵御风险的能力,形成供董事会和高级管理层讨论并决定实施的应对措施,预防极端事件可能对银行带来的冲击。

对于日常管理中广泛应用各类风险计量模型的银行,压力测试应成为模型方法的重要补充。压力测试也能够帮助银监会充分了解单家银行和银行业体系的风险状况和风险抵御能力。

以上内容参考百度百科—压力测试

二、压力测试服务器性能指标都有哪些

吞吐率

指的是服务器处理并发请求的能力,计算公式:总请求数/完成所有请求花费的总时间。

并发连接数、并发用户数

并发连接数指某个时刻服务器处理的连接数,此概念的某个时刻是一个特定的时间点。

并发用户数的概念和并发连接数密切相关,并发连接数一定大于等于并发连接数,一个用户可能同时发送多个并发请求。

用户请求平均等待时间

计算公式:处理完所有请求花费总时间/并发用户数。

服务器平均请求等待时间

计算公式:处理完所有请求所花费时间/总请求数。

三、性能指标有哪些

 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。

单个reqeust对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间

QPS(TPS):每秒钟request/事务数量

并发数:系统同时处理的request/事务数

响应时间:一般取平均响应时间

(很多人经常会把并发数和TPS理解混淆)

理解了上面三个要素的意义之后,就能推算出它们之间的关系:

QPS(TPS)=并发数/平均响应时间

    一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。

决定系统响应时间要素

我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。

系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间;

关键路径是有CPU运算、IO、外部系统响应等等组成。

我们在做系统设计的时候就需要考虑CPU运算、IO、外部系统响应因素造成的影响以及对系统性能的初步预估。

而通常境况下,我们面对需求,我们评估出来的出来QPS、并发数之外,还有另外一个维度:日PV。

通过观察系统的访问日志发现,在用户量很大的情况下,各个时间周期内的同一时间段的访问流量几乎一样。比如工作日的每天早上。只要能拿到日流量图和QPS我们就可以推算日流量。

通常的技术方法:

     1.找出系统的最高TPS和日PV,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响之外)

2.通过压力测试或者经验预估,得出最高TPS,然后跟进1的关系,计算出系统最高的日吞吐量。B2B中文和淘宝面对的客户群不一样,这两个客户群的网络行为不应用,他们之间的TPS和PV关系比例也不一样。

A)淘宝

淘宝流量图:

淘宝的TPS和PV之间的关系通常为 最高TPS:PV大约为 1: 11*3600(相当于按最高TPS访问11个小时,这个是商品详情的场景,不同的应用场景会有一些不同)

B) B2B中文站

B2B的TPS和PV之间的关系不同的系统不同的应用场景比例变化比较大,粗略估计在1: 8个小时左右的关系(09年对offerdetail的流量分析数据)。旺铺和offerdetail这两个比例相差很大,可能是因为爬虫暂的比例较高的原因导致。

在淘宝环境下,假设我们压力测试出的TPS为100,那么这个系统的日吞吐量=100*11*3600=396万

这个是在简单(单一url)的情况下,有些页面,一个页面有多个request,系统的实际吞吐量还要小。

无论有无思考时间(T_think),测试所得的TPS值和并发虚拟用户数(U_concurrent)、Loadrunner读取的交易响应时间(T_response)之间有以下关系(稳定运行情况下):

TPS=U_concurrent/(T_response+T_think)。

并发数、QPS、平均响应时间三者之间关系

软件性能测试的基本概念和计算公式

LoadRunner性能指标分析举例

¾ Memory:可用的物理内存。

若占用内存一直处于上涨状态,说明程序没有释放内存。

¾ Page:从磁盘读写的页数。

若Page持续高于几百,说明换页频繁,可以通过增加内存来降低这个值。

¾ Page Fault:处理器每秒处理的错误页。

软错误是该页面在内存的其他位置;硬错误是指页面必须从硬盘上重新读取。硬错误常会导致很明显的延时,可以考虑加大内存。

¾内存泄漏。

Memory,Available Bytes持续下降不反弹,基本可以断定是内存泄漏。进一步监控Process,Private Bytes来查询具体的进程。

¾ Processor Time。

CPU利用率,若小于75%,则CPU未充分利用到;若大于95%,那么CPU就是一个瓶颈了,可以考虑换一个性能更好的。

¾ Processor Queue Length。

此值若大于2,并且处理器利用率一直很低,则存在处理器堵塞可能。

¾ Interrupt Time。

若内存没有问题,Processor Time大于 90%,并且 Interrupt Time持续大于 15%,同时网卡、硬盘值比较低,可以断定处理器负载过重,无法满足业务增加需要,处理器是系统瓶颈点了。

参考资料: