💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
>[success] ## 一:性能测试 性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。通俗地说,这种方法就是要在特定的运行条件下验证系统的处理能力。 **特点:** * 这种测试方法的主要目的是验证系统是否有系统宣称具有的能力。 * 这种测试方法要事先了解被测试系统经典场景,并具有确定的性能目标。 * 这种测试方法要求在已经确定的环境下运行。 也就是说,这种方法是对系统性能已经有了解的前提,并对需求有明确的目标,并在已经确定的环境下进行的 >[success] ## 二:负载测试 * * * 通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或都某种资源已经达到饱和状态。 **特点:** * 这种测试方法的主要目的是找到系统处理能力的极限。 * 这种测试方法需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力量和典型场景、使得测试结果具有业务上的意义。 * 这种测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。 也就是说,这种方法是对一个系统持续不段的加压,看你在什么时候已经超出“预期要求”或系统崩溃。 >[success] ## 三:压力测试(强度测试) * * * 压力测试方法测试系统在一定饱和状态下,例如CPU、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。 **特点:** * 这种测试方法的主要目的是检查系统处于压力性能下时,应用的表现。 * 这种测试方法一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。 * 这种测试方法一般用于测试系统的稳定性。 也就是说,这种测试是让系统处在很大强度的压力之下,看系统是否稳定,哪里会出问题。 >[success] ## 四:并发测试 * * * 并发测试通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题。 **特点:** * 这种测试方法的主要目的是发现系统中可能隐藏并发访问时的问题。 * 这种测试方法主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题。 * 这种测试方法可以在开发的各个阶段使用需要相关的测试工具的配合和支持。 也就是说,这种测试关注点是多个用户同时(并发)对一个模块或操作进行加压 <br> <br> >[info] **PS:下面是性能测试的主要概念和计算公式,记录下:** **一.系统吞度量要素:** 一个系统的吞度量(承压能力)与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关系比例也不一样。 **三:吞吐量** 指在一次性能测试过程中网络上传输的数据量的总和。 **四:吞吐率** 单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量。它是衡量网络性能的重要指标,通常情况下,吞吐率用“字节数/秒”来衡量,当然,你可以用“请求数/秒”和“页面数/秒”来衡量。其实,不管是一个请求还是一个页面,它的本质都是在网络上传输的数据,那么来表示数据的单位就是字节数 # 以上并非个人总结,也参考了其他官网介绍