1. 指标概念
序号 | 名称 | 含义 |
---|---|---|
1 | 性能测试 | 通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 |
2 | 负载测试 | 通过逐渐增加负载,测试系统各项指标变化情况,属于性能测试的一种,关注的是动态趋势。 |
3 | 压力测试 | 通过测试来确定系统的瓶颈与临界值,以此来获得系统能提供的最大服务级别,属于性能测试的一种,关注的是静态值。 |
4 | 吞吐量(TPS) | Transactions Per Second; 每秒处理事务数; |
5 | 并发数 | 系统同时处理的事务数 |
6 | 响应时间 | 应答通信模式下,客户端从发送请求到收到回应所需的时间,多次测试取平均值 |
7 | 服务器资源 | 指服务器CPU、内存、网络带宽、磁盘读写速率等 |
2. 测试方案
模拟客户端在多种情况下向服务器程序发送数据,依赖统计数据来评估服务程序性能。
- 制订应答协议
定义测试协议,模拟客户端程序发送该协议,服务器程序收到后回复此协议,以此模拟通信交互过程。为了模拟实际通信情况,该协议可以为生产中的协议,服务端收到后也进行正常的解析、处理、操作DB等操作。 - 统计指标
a) 连接数(客户端模拟程序模拟的客户端数量);
b) 单包数据大小(测试协议字节数);
c) 每秒发送次数;
d) 每秒发送数据总大小;
e) 每秒收到回复次数;
f) 每秒收到回复数据大小;
g) 服务器资源均值(CPU、内存、磁盘读写、网络);
h) 丢帧(应答模式下,丢帧=总发送次数-总收到回复次数,这种事粗略统计,准确的话应该根据服务端通信日志来统计)。 - 趋势与临界
在相同测试时长内,逐渐增大以下单一变量,记录以上各个指标趋势变化情况,以及是否会导致服务端奔溃爆炸。
a) 连接数(逐渐增多,增量>=10);
b) 单包数据大小(逐渐增大,增量>=500字节);
c) 添加测试组(即在同一台服务器下,开启多个测试组,主要测试不通端口间通讯相互影响情况,增量1);
d)客户端发送数据频率(这边是物联网通信,不是聊天什么的,客户端发送数据频率都是固定的,不会很快,太快硬件那边也扛不住…,所以这个可以不变) - 得到结论
a) 吞吐量(TPS)上限
一次应答可视为一次事务完成,客户端计算在测试期间平均每秒收到的客户端答复次数即为TPS;通过增加连接数来测试可获得TPS上限以及连接数增加对TPS的影响趋势,以此来控制生产环境最佳连接设备数量。
b) 流量上限
当服务奔溃时,每秒通信流量数值,通过修改单包协议长度可以在最少干扰因素下实现增加流量,以及单包数据长度变化对通信性能的影响趋势及上限。
c) 客户端连接数量上限
当服务奔溃时,客户端连接数量,通过修改客户端连接数量可以获得数量变化对通信性能的影响趋势及上限。
d) 丢帧趋势
通过测试可获得,在客户端数量、协议长度、服务器开放端口数下的丢帧趋势变化。
3.测试工具
搬砖一个工具,在测试应答式的通信程序还不错,可以用用。非应答的,只收不发的那种可以再找找别的工具,或者就服务端日志统计下也行吧可能…
工具
保持良好的心态才能从容应对各种意外的情况!!众生皆苦,不是只有你一个人活的很累,领导再变态,需求再恶心,该忍的还得忍。缺钱的时候给钱的是爹!!!!加油吧。(2021年4月7号,不就是兼测试吗,老子搞!!!)