看《做性能测试需要做些什么》

我们说性能测试,那么性能测试主要是什么呢?
软件性能包含两方面特性:时间特性和性能特性。
时间特性:系统处理客户请求的响应时间=呈现时间+系统响应时间
性能特性:测试过程中,资源消耗情况(CPU、内存、磁盘)
响应时间=网络传输时间+应用服务器处理时间+数据库处理时间
N1 N2 N3 N4 A1 A3 A2
并发用户数:同一时刻 进行数据交互 所有用户数(备注: !=系统所有用户 & !=所有在线用户。所以,并发用户数如何计算?需参考、分析历史数据、试上线运行)
吞吐量:单位时间 服务器处理的字节数 B/s通过不断添加虚拟用户数,到吞吐量的拐点,即服务器吞吐量的最大值)
吞吐率:单位时间 从服务器返回的字节数=吞吐量/测试时间
TPS:每秒 处理的事务。
资源利用率:CPU利用率、内存、磁盘、网络
思考时间:用户操作时,每个请求之间的时间间隔
Ir_think_time();
性能测试划分:
负载测试-》不断加压,直到不可再加压
压力测试-》使用模拟负载方法,测试系统已达到一定的饱和程度
配置测试-》调节系统软硬件环境,使系统在不同环境下进行性能测试,用于系统调优和规划能力。
并发测试-》模拟多用户同时并发
可靠性测试-》在一定业务压力下持续运行
基准测试
各类测试的执行阶段:
编码:并发--压力--容量
测试:负载--基准--配置

需理解最佳用户数和最大用户数。开始性能测试前,需要知道:
1、客户的要求
如系统同时满足**用户登录,平均每个用户登录时间不超过**秒
2、目前系统的性能
求最大用户数和最佳用户数,系统分析并找到压力点
3、系统瓶颈
分析可能对系统造成瓶颈的逻辑业务
4、长时间压力下性能状况(强度测试)-》内存溢出
理论如上,操作如下:
1、需要熟悉我们的测试环境,从硬件、软件、网络环境三点入手
1)硬件方面:
分析服务器系统、CPU、内存、硬盘写入情况
2)软件方面:
从前端、中间件、服务器入手
3)网络环境
做测试,主要是标准是什么,目的是什么,即预期结果。那么如何获取我们的标准,获取 “有效的”性能需求呢?
例子:证劵行业某业务的“实际需求”
系统总容量达日委托6000万笔,成交9000万笔
系统处理速度每秒7300笔,峰值每秒10000笔
实际股东帐号 3000万
-》需求:最佳并发用户数需求:每秒7300笔
最大并发用户数需求:每秒10000笔
基础数据容量:实际股东帐号数3000万
业务数据容量:日托6000万,成交9000万
如果我们根据以下2个假设:
1。采用2/8比例,即80%的业务在20%的峰值时间内完成,20%的业务在80%的非峰值时间内完成,那么我们可以得到峰值处理业务量1.5亿的80%为1.2亿,非峰值处理业务量1.5亿的20%为3000万;
2。1天系统运行时间为20小时,另4小时为非营业的后台处理时间,那么峰值时间20小时的20%为4小时,非峰值时间20小时的80%为16小时。
我们可以计算到:
1。平均峰值处理速度1.2亿/4*3600秒接近9000个/秒;
2。平均非峰值处理速度3000万/16*3600秒约500个/秒;
我们可以计算到:
1。平均峰值处理速度1.2亿/4*3600秒接近9000个/秒;
2。平均非峰值处理速度3000万/16*3600秒约500个/秒;
考虑到特殊情况的发生,我们建议实际峰值处理速度要能达到理论计算的平均峰值处理速度的1.5到2倍,所以最终确定下来的建议峰值处理速度为9000个/ 秒*2=18000个/秒。我们拿这个结果向客户说明,告诉他们原来的需求很可能在发生特殊情况时无法有效处理,客户最终接受了我们的说法并调整了他们的需求。
这叫需求开发,通过分析修正了客户的不合理需求,满足了他们最根本的需要“系统总容量达到日委托6000万笔,成交9000万笔”,而处理速度是他们根据自己的需要估算出来的,并不准确。
所谓需求开发,也就是根绝客户的核心需求,为客户设计完整的需求体系,甚至根据客户的业务发展需要,为客户设计核心需求和需求体系。
取自:http://www.cnblogs.com/jackei/archive/2006/12/12/589473.html

性能测试常见指标:
1、工作负载
2、响应时间
3、吞吐量
TI:客户端往服务器发出的请求包吞吐量
TO:服务器返回请求数据包的吞吐量
每秒点击数:服务器的处理能力

原文地址:https://www.cnblogs.com/LinxiHuang/p/9245779.html

时间: 2024-10-10 10:26:18

看《做性能测试需要做些什么》的相关文章

看《做性能测试需要知道些什么》

看<做性能测试需要知道些什么>需理解最佳用户数和最大用户数开始性能测试前,需要知道:1.客户的要求 如系统同时满足**用户登录,平均每个用户登录时间不超过**秒2.目前系统的性能 求最大用户数和最佳用户数,系统分析并找到压力点3.系统瓶颈 分析可能对系统造成瓶颈的逻辑业务4.长时间压力下性能状况(强度测试)->内存溢出 测试环境1.硬件 服务器.CPU.内存2.软件 前端.中间件.服务器3.网络环境 寻找系统的压力点 做性能测试之后需要知道些什么->获取"有效的"

sysbench的安装和做性能测试

sysbench的安装和做性能测试 http://imysql.cn/node/312 sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况. 关于这个项目的详细介绍请看:http://sysbench.sourceforge.net. 它主要包括以下几种方式的测试: 1.cpu性能 2.磁盘io性能 3.调度程序性能 4.内存分配及传输速度 5.POSIX线程性能 6.数据库性能(OLTP基准测试) 目前sysbench主要支持 MyS

【转】在做性能测试之前需要知道什么

最近群里来了很多新朋友,大都是新做测试或准备做测试工作的,见好多新来上来就问关于LoadRunner的使用上的问题.对性能测试的理解也不是太清楚.公司说让他们对系统做个性能测试,他们听说LoadRunner是做性能测试的,在网上找了点了LoadRunner的使用说明就开始对系统下刀了.对于一些大公司的专业性能测试人员来说,这个很可笑,但这是种情况是存在的,我当初也到公司时也这么干的. 那时还真把性能测报告给整出来了,现在看来那报告没有任何意义.虽然,虽然对现在的我来说性能测试也只是只懂皮毛.但还

怎么做性能测试--响应时间

做性能测试先要懂性能,响应时间(response time)作为性能测试过程中两大重要指标之一是我们必须关注的. 从用户角度来说,用户最讨厌等待.在大量的处理环境中,超过3秒以上的响应时间将会严重影响工作效率.然而最终用户的感受不仅仅是绝对时间问题,他们对于响应时间的期望是参照以往的经验,而这种期望是相对于他们使用该应用的基准性能.如果使用该应用的当前感受和以往的经验有很大的差别时,抱怨以及需要支持的电话就会成倍地增加.响应时间对于用户来说既有客观成分,也有主观成分. 例(1):对于小说网站来说

如何做性能测试

偶然间看到了阿里中间件Dubbo的性能测试报告,我觉得这份性能测试报告让人觉得做这性能测试的人根本不懂性能测试,我觉得这份报告会把大众带沟里去,所以,想写这篇文章,做一点科普. 首先,这份测试报告里的主要问题如下: 1)用的全是平均值.老实说,平均值是非常不靠谱的. 2)响应时间没有和吞吐量TPS/QPS挂钩.而只是测试了低速率的情况,这是完全错误的. 3)响应时间和吞吐量没有和成功率挂钩. 为什么平均值不靠谱 关于平均值为什么不靠谱,我相信大家读新闻的时候经常可以看到,平均工资,平均房价,平均

使用Student T&#39;test方法做性能测试

性能测试 日常工作中对比函数间的快慢时,最直接的方法就是根据timer:tc/1结果的时间来衡量,比如想知道lists:reverse/1与直接使用自己写的尾递归函数谁更快?最直接的方法就是 -module(test). -export([start/1]). start(Len) -> L = lists:seq(1, Len), Max = 1000, Time1 = benchmark(Max, fun() -> lists:reverse(L) end), Time2 = benchm

【转帖】sysbench的安装和做性能测试

iMySQL | 老叶茶馆 sysbench的安装和做性能测试 http://imysql.cn/node/312 我仿照这个学的 但是 需要用更新的版本才可以. By yejr on 14 六月 2007 作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.关于这个项目的详细介绍请看:http://sysbench.sour

想做性能测试不知道怎么选顺手的工具?

原文链接:http://www.51testing.com/html/49/n-3721249.html 前言 当你想做性能测试的时候,你会选择什么样的测试工具呢?是会选择wrk?jmeter?locust?还是loadrunner呢? 今天,笔者将根据自己使用经验,针对jmeter.locust.wrk和loadrunner常用的性能测试工具进行简单介绍和对比.首先,四者基本对比图: 由于loadrunner为商业收费模式,对于公司级测试使用而言涉及到授权问题,因此,本文暂不对loadrunn

Jmeter工具做性能测试 常见的错误汇总

在Windows机器上用Jmeter做性能测试,汇总下我自身遇到的错误和解决方案 java.net.BindException: Address already in use: JVM_Bind 原因分析:压测服务器问题,由于并发太高,导致自身port不够用,需要调整机器的端口,可用netstat -ano看出来:去掉下面的/c查看详细端口占用 定位: netstat -ano | find "10.215.70.172:443" | find "ESTABLISHED&qu