性能和安全性测试技巧
-
常用到的命令
dump sys session clear 清除会话,把当前会话清理干净,防止上一次测试影响到下次测试结果。
-
测试吞吐、新建会话时提高性能
define sys global
set optimize session-setup
end
该命令是将不同网卡对应到不同CPU内核上。
APW1KMB001000076 (global) # dump hardware sysinfo interrupts
CPU0 CPU1 CPU2 CPU3
0: 160093 0 0 0 IO-APIC-edge timer
4: 60 0 0 0 IO-APIC-edge serial
7: 0 0 0 0 IO-APIC-edge LCD_KEYPAD
8: 0 0 0 0 IO-APIC-edge rtc
9: 0 0 0 0 IO-APIC-level acpi
16: 3560672 0 0 0 IO-APIC-level port1, port5
17: 1566 0 0 0 IO-APIC-level port2, port6
18: 1565 0 0 0 IO-APIC-level port3, port7
19: 2062 0 0 0 IO-APIC-level libata, port4, port8
NMI: 0 0 0 0
LOC: 159946 159944 159946 159945
ERR: 0
MIS: 0
该表列出来哪个接口对应在使用哪个CPU核,有数字表示该内核被使用。测试时,要保证所使用的网卡在不同的CPU核上。
被测设备最多有4核,如果有8核的话,那么说明是启用超线程。比如显示为0,1,2,3,4,5,6,7, 则0,1之间,2,3之间,4,5之间,67之间是超线程的关系,超线程之间跑数据流是不能提高性能的。所以使用的时候,应该选择0,2,4,6核所对应的接口。
-
测试吞吐防止“新建UDP”发生
一般测试吞吐都是用一个会话, 比如10.1.1.1 2000端口----10.1.1.2 1024端口,尽量要求用户打UDP流的源端口和目标端口不一样,这样能保证“去”和“回”在不同会话上,可以充分发挥会话的“亲核性”。
def sys global
set udp-idle-timer 180
end
该命令是设置UDP的会话保持时间,测试吞吐时,可以将它调长,比如改成“1800”。让用户在正式跑流量前,先测一下通不通,这样就可以先生成好会话。这不是必须的。有时新建会话时,总会丢一点点包,有可能与新建会话有关系。
-
测试并发会话和新建会话时,防止防火墙上的会话比测试仪高。
防火墙在测试仪终止会话后,还会保留一段时间,这个保留时间是在这里设置的。建议把它设置成2
def sys global
set tcp-timewait-timer 2
end
-
测试Teardrop类似DDoS大压力测试时,建议每次测完重启一下设备。
-
安全性测试(测试防火墙本身有没有漏洞)
在命令行下设置这些命令
def sys global
set strong-crypto enable
set disable-ssl-renego on
end
关闭集中管理
define system central-management
set status disable
end