在之前已经写一篇RFC2544性能测试内容,此篇内容是接着RFC2544的性能测试项吞吐来继续深入一些阐述网络层吞吐性能应该来如何测试。

    

    吞吐性能数据最终要反馈给的目标人群有:自己、开发人员、产品人员、以及用户。那首先就要考虑各类人群如何从哪个角度来衡量产品的性能,这里我们从对内,以及对外给出两种测试方法。


    以下是笔者在对外的测试项目遇到的用户选择的测试方法:其中必有不足,欢迎各位补充:

a、常规的RFC 2544测试,64、128、256、512、1024、1280、1518等七种字节包长的udp双向对称数据包测试

b、常规的RFC 2544测试,64、128、256、512、1024、1280、1518等七种字节包长的udp单向数据包测试

注:a、b的测试方法在一段时间内,很受欢迎、认可。如:资质测试、入围测试、项目测试都用以上的标准做为网络层测试的标准,但是随着时间的推移,测试的方法慢慢熟知、普及,人们想到了更多的测试方法如:

c、常规的RFC 2544测试,64、67、128、256、512、1024、1280、1517、1518等九种字节包长的udp双向数据包测试

d、常规的RFC 2544测试,64、67、128、256、512、1024、1280、1517、1518等九种字节包长的udp单向数据包测试

e、64、512、1518一定比例混合测试

f、64、128、256、512、1024、1280、1518的ip报文测试


对于以上几种的客户测试方法,我们需要明确我们当前产品的支持情况。拿防火墙做个简单的举例,不同厂家对自己转发实现的方式不一致。

1、传统包过滤防火墙:所有数据包都需要进行没有选择的过滤,所以以上这几种方法转发都不存在问题,对性能的结果也基本影响不大。

2、无状态连接防火墙:以上f这种测试方法可能会造成转发与性能问题。此类防火墙要建立连接,连接建立的前提是五元组,但是此时测试的报文是ip报文,连接应该如何建立?转发的过程当中是否还需要每次都进行route、nat、acl等逻辑,是否又会影响到性能?

3、有状态连接防火墙:通过有状态连接的防火墙,都会为了性能的提升做出快速转发模式与默认转发模式。针对这两种模式,大部分的厂家实现想要进入快速模式,都是需要连接上有双向的数据包,所以当此两种条件限制,测试方法b、d、f是否会表现出异常?额外再加点料:进入到快速转发模式的连接上再来了分片包,转发是否存在问题?

4、下一代防火墙:众所周知,下一代防火墙前提要基于应用识别,而且要高性能、云特征分析等,那以上的测试方法又会带来哪些问题呢?大家都来分析一下。


    接下来为对内测试:在以上a、b、c、d、f、g的测试方法前提下,通常都会增加不同的工作模式测试如:二层(vlan、bridge、bond、旁路等)、三层(路由、bond、子接口等)、在不同的工作模式下,分别验证快速转发模式、默认转发模式的性能,以及性能的差别,并明确差别的合理性;基于以上的测试,再扩展功能如路由、nat、策略,测试各项功能对转发的影响。此外在过往的经验中对吞吐性能的影响还有一个比较大的影响参数:并发连接数。测试不同的并发连接数下吞吐的性能,很有可能会发现并发连接数导致的性能问题。对于以上的测试请记录详细的测试过程数据,方便查看以及日后追踪、回忆。

测试点记录如下:(只简单的列了2大项)

二层:

vlan+快速转发模式  

1、测试结果:如:package转发速率、延时

2、测试过程:如:cpu使用率、内存使用率、并发连接数、perf记录等有利对性能分析的数据

vlan+快速转发模式+功能(路由、nat、策略等)

vlan+默认转发模式

vlan+默认转发模式+功能(路由、nat、策略等)

三层:

路由+快速转发模式

1、测试结果:如:package转发速率、延时

2、测试过程:如:cpu使用率、内存使用率、并发连接数、perf记录等有利对性能分析的数据

路由+快速转发模式+功能(路由、nat、策略等)

路由+默认转发模式

路由+默认转发模式+功能(路由、nat、策略等)

结合上一篇查看快速转发模式与默认转发模式在不同字节package的转发速率,对比多款机型、平台看看是否存在一定的关系。

另外请注意测试出来的数据一定要反思,为什么会是如此个数据,是如何来的,这样才能提高。

对内测试列了很多需要测试的数据,就是为了更完整的反应产品的性能,但是这么多的性能数据,这么多的工作量在紧张的测试资源条件下,该如何进行呢,请大家来思考。