性能方案

Posted xiaojingliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能方案相关的知识,希望对你有一定的参考价值。

一.什么是性能测试

性能测试时通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

1.1 负载测试(Load Testing)

确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,查看系统各项性能指标的变化情况。

1.2 压力测试(Stress Testing)

是通过确定一个系统的瓶颈或者不能接受的性能点,来获取系统能提供的最大服务级别的测试。

1.3 稳定性测试(Stability Testing)

增加系统资源占用、系统长时间的大并发运行或正常流量的系统访问等,验证系统长期稳定工作的能力。

一般跑7*24H

为了发现内存泄漏、句柄泄漏、连接数泄漏、算法问题。  

1.4 并发量与TPS(Transaction Per Second)每秒交易量的联系

性能测试的误区:并发量越大系统压力越大

并发量与每秒交易量的联系:

并发量用于考察系统的用户支撑能力

每秒交易量才是衡量大多数系统的真实压力的正确指标

随着并发量的增加TPS并不是线性增长的

TPS 和Trans Response time(事务的平均响应时间)是非常重要的两个指标。

1.5 性能测试方案(计划)关键点

测试目的

测试范围(交易列表、路径图等)

性能指标(要可测量,量化指标最好给出具体数值,无法定量的给出说明)

一般接口的性能响应时间是50ms以下可以接受,50-100ms比较缓慢。

数据量(给出具体数值和参考数据,无法定量的给出说明)

测试环境(分为网络、硬件、软件)

测试工具和监控工具及其相关环境

测试策略

时间周期

1.6 列出性能测试成功的数据指标:

吞吐量TPS

每个事务的平均响应时间

确定数据库的数据量

系统的稳定运行时间要求

是否需要考虑系统的支持水平扩展(增加硬件是否能增加系统的处理能力)

考虑系统的最大容量

1.7 性能测试的范围

用户经常使用的功能

产生IO操作比较多的功能

系统的核心功能

系统产生密集计算的功能

二.测试执行

基准测试:获得各个典型交易在无压力条件下性能表现

单交易负载测试:获得呵呵典型交易在负载条件下的性能表现

混合场景序列负载测试:按照场景序列一次获得各个场景负载条件下的性能表现

稳定性测试:通过长时间、较大压力的负载运行,获得被测系统的稳定性表现

2.1 基准测试

目的是检查业务本身是否存在功能缺陷,同时为将来的混合场景性能测试分析提供参考数据

测试方法:

编写测试客户端向应用服务器发送业务请求并接收返回结果的脚本

在系统无压力的情况下重复100次,每次迭代时间等待1s

取业务的平均响应时间作为衡量指标

2.2 单交易负载测试

目的是考察系统交易编码是否存在性能隐患

测试方法:

编写测试客户端向应用服务器发送业务请求并接收返回结果的脚本

使用20%系统标准并发量进行测试,或者压倒出错为止。

2.3 混合场景测试

测试方法:

按照业务模型比例设置测试场景

逐步增加并发量

记录每次测试环境参数:包括数据库配置参数、应用系统配置参数

收集系统性能变化曲线

2.4 性能测试数据的记录

2.4.1记录每台机器的CPU占用率(sys和user)

 

以上是关于性能方案的主要内容,如果未能解决你的问题,请参考以下文章

性能方案

前端性能优化:掌握行业实用专业前沿的解决方案

盖世大学堂|整车驾乘性能测试评价解决方案

大型php网站性能和并发访问优化方案

盖世大学堂丨整车驾乘性能测试评价解决方案

谷歌推出 Python 性能加速方案