性能测试基础知识

学习性能测试之前我们务必需要知道一些性能测试的理论知识与概念。

性能

性能这个词语,我们可能在生活中多多少少都接触到,比如一辆汽车的性能,这辆车百米加速多少秒,百公里油耗多少,一脚油门能不能够跑到50KM,这些都是汽车的性能。

一个软件的性能,需求说明书上的功能已完全且准确无误地实现,只表明系统能做事,但是做得怎么样还有待验证,“做得怎么样”,就可以简单地理解为系统的性能。

汽车能跑能停就表明车能够做事,车的百米加速多少秒,百公里油耗多少,这些就是做的怎么样?

性能: 客户需求说明书上的功能已完全且准确无误地实现,只表明系统能做事,但是做得怎么样还有待验证,“做得怎么样”,就可以简单地理解为系统的性能。

性能测试: 指在一定的软件、硬件及网络条件下,通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,从而发现系统的性能瓶颈。也就是说,通过各种测试策略,模拟真实的用户使用场景,验证系统能“做得怎么样”。

并发用户

绝对并发:所有的用户在同一时刻做同一件事情或者操作,一般指做同一类型的业务,或所有用户进行完全一样的操作。
相对并发:多个用户对系统发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以是不同的。
相对并发包含绝对并发,且相对并发更接近用户的实际使用情况,因此对于大多数的系统,只有数量很少的用户进行绝对并发。对于 WEB 性能测试而言,这 2 种并发情况一般都需要进行测试,通常做法是先进行绝对并发测试。绝对并发一般发生在使用比较频繁的模块中,尽管发生的概率不是很大,但是一旦发生性能问题,后果很可能是致命的。绝对并发测试往往和功能测试关联起来,因为并发功能遇到异常通常都是程序问题,这种测试也是健壮性和稳定性测试的一部分。
点击率: 单位时间用户向 WEB 服务器提交的 HTTP 请求数。这个指标是 WEB 应用特有的一个指标:WEB 应用是“请求-响应”模式,用户发出一次申请,服务器就要处理一次,所以点击是 WEB 应用能够处理的交易的最小单位。点击率越大,对服务器的压力越大。点击率只是一个性能参考指标,重要的是分析点击时产生的影响。这里的点击并非指鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个 HTTP 请求。

事务: 一个事务表示一个“从用户发送请求->web server 接受到请求,进行处理-> web server 向 DB 获取数据->生成用户的 object(页面),返回给用户”的过程。事务可能由一个请求,或一系列请求组成。

事务响应时间: 指的是从客户端发起请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间,响应时间的单位一般为“秒”或者“毫秒”。:响应时间=网络响应时间+应用程序响应时间。标准可参考业界的 3/5/10 原则。

吞吐量: 指软件系统在每单位时间内能处理多少个事务/请求等,也就是系统的处理能力。在不同的场景下 TPS 有不同的诠释,比如数据库的吞吐量指的是单位时间内,不同 SQL 语句的执行数量,而在网络的吞吐量指的是在单位时间内在网络上传输的数据流量。吞吐量的大小由负载(如用户数)或行为方式来决定。

集合点: 通过创建集合点,可以配置多个 Vuser 同时执行同一操作。当某个 Vuser 到达该集合点时,将进行等待,直到参与该集合的全部 Vuser 都到达后,释放所有这些 Vuser。可通过将集合点插入到 Vuser 脚本来指定会合位置。

思考时间: 即请求间的停顿时间。实际中,用户在进行一个操作后往往会停顿然后再进行下一个操作,为了模拟这种用户行为而引入了该概念。在虚拟用户脚本中用函数 lr_think_time()来模拟用户处理过程,执行该函数时用户线程会按照相应的 time 值进行等待。

90%的响应时间: 指在一次完整的测试过程中,所有事务的请求时间,按从小到大顺序排序,90%的事物所消耗的时间范围。
最小和最大响应时间偏差很大时会导致平均值本身并不可信,此时,平均事务响应时间满足了性能需求,并不能表示系统的性能已经满足了绝大多数用户的要求。所以,在评估性能测试结果时,除了要考虑事务的平均响应时间,还要考虑90%的事物响应时间。

资源利用率: 指对不同系统资源的使用程度,如服务器的 CPU(s),内存,网络带宽,I/O 等。通常以占用最大值的百分比 n%来衡量。

负载测试: 在一定的软件、硬件及网络条件下,通过运行一种或多种业务在不同虚拟用户数量情况下,测试系统的性能指标是否在用户的要求范围内,用于确定系统所能承受的最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。负载测试强调的是在一定的环境下系统能够达到的峰值指标,目的是找到系统处理能力的极限。

压力测试: 在一定的软件、硬件及网络条件下,通过模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作。压力测试强调在极端情况下系统的稳定性。压力测试方法测试目标系统在一定饱和状态下,例如 CPU、内存等在饱和状态下,系统还能否稳定地提供服务。

配置测试: 在不同的软件、硬件和网络条件下,通过运行一种或多种业务在一定的虚拟用户数量情况下,获得不同配置的性能指标,用于选择最佳的设备及参数配置。如 CPU、显卡、内存、硬盘、系统。

并发测试: 通过模拟多个用户并发访问一个应用或一个应用的某个功能,同一个存储过程,或接口以及其他并发操作,测试程序是否支持多用户访问,是否存在死锁,线程同步的问题。

疲劳测试

软件可靠性是软件系统在规定的时间内以及规定的环境条件下,完成规定功能的能力。
1)测试一个系统失效后重新恢复原有功能、性能的能力,涉及两个方面:①原有能力恢复的程度;②原有能力恢复的速度
2)长时间(7*24)运行系统,检查系统是否能稳定运行,有没有内存泄漏等。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容