-
Notifications
You must be signed in to change notification settings - Fork 54
IAST性能与稳定性测试方案
alipaydeshui edited this page Jul 6, 2023
·
10 revisions
测试IAST agent在日常工作模式下和极端场景下的性能情况。
服务器类型:Docker
测试机器CPU:2C
测试机器内存:4G
测试机器硬盘:25G
考虑到日常场景中,以无漏洞场景为主,因此80%的样本都是无漏洞的简单场景。
- 无漏洞简单场景(污点链路长度为10),占比80%
- 有漏洞简单场景(污点链路长度为10),占比4%
- 超长污点传播链路(污点传播链路长度200)有漏洞场景,占比4%
- 超长调用链路(调用链路长度50,每次调用链路中污点链路长度为3)有漏洞场景,占比4%
- 大污点对象(污点对象大小超过1K,污点链路长度为10)有漏洞场景,占比4%
- 多污点对象(同一个请求同时跟踪100个污点对象,污点链路长度为10)有漏洞场景,占比4%
1、根据测试场景及比例分配,构造性能测试样本集。
2、先不部署IAST agent,分别以50和100 QPS进行3次性能测试,取平均值。
3、部署IAST agent,关闭抽样检测和自降级等功能(如果有),开启污点跟踪,先预热10min,再分别按50 和100 QPS进行3次性能测试,每次10min,取三次的平均值作为最终结果。
注意:测试时要关注漏洞是否能持续检出。
如果涉及到不同产品的对比测试,建议把支持检测的漏洞类型配置成一致。
4、关注的主要性能指标
90%响应时间(毫秒)、响应时间平均值(毫秒)、最大响应时间(毫秒)、cpu_util平均值(百分比)、mem_util平均值(MB)、load平均值。
| 性能指标 | 不部署IAST agent50 QPS(三次取均值) | 部署IAST agent 50 QPS(三次取均值) | 不部署IAST agent100 QPS(三次取均值) | 部署IAST agent 100 QPS(三次取均值) |
|---|---|---|---|---|
| 90%响应时间(毫秒) | ||||
| 响应时间平均值(毫秒) | ||||
| 最大响应时间(毫秒) | ||||
| cpu_util平均值(百分比) | ||||
| mem_util平均值(MB) | ||||
| load平均值 |
部署IAST的情况下,压测QPS逐步从0压测到极限性能(CPU 100%)情况,观察被测应用关键性能指标,否随流量增长稳定增长,以及内存泄漏、死锁风险。
注意:测试时要关注漏洞是否能持续检出。
部署IAST的情况下,50 QPS连续测试2个小时,观察各项指标是否大致平稳,有无明显波动,有无内存泄漏、死锁、fullgc情况。
注意:测试时要关注漏洞是否能持续检出。