1、系统吞吐量
一般来说,在交换机的性能测试中,吞吐量是最重要的测试要素。在测量功耗时,这也是一个重要因素。这些测试数字与所测量的功耗综合在一起,就可以计算每使用一瓦电可以达到的吞吐量是多少。
我们建议测试人员要计算每瓦电能每秒钟转发的兆位(Mbps/瓦)。当然,也可以选择Gbps。用户还可以使用原始数据,计算每秒钟传输每兆位数据需要花费多少钱。
吞吐量的测量非常重要还有另外一个原因,即有些制造商选择实施不给所有附加接口提供线速吞吐量的网络连接结构。
这种交换机拥有很多插卡模块或底板,这种交换机可能要比那些提供完全的线速吞吐量的交换机使用的电能更少。
如果不测量吞吐量,我们就会错误地得出结论认为:低容量设备在从同样数量的端口传输数据时,要比能够交付更大吞吐量的交换机更有效率。只有将吞吐量的计算考虑进去,我们才能够将所达到的吞吐量与所耗用的电能关联起来。
2、功率因数
可以这样讲,确定被测设备所耗用电能的效率与测量所耗用的电能同样重要。因此,在测试交换机的能源效率时要考虑“功率因数”。
根据维基百科的解释,功率因数指的是流向“表观功率”负载的实际功率。未充分利用的功率意味着,某个设备耗用了比它实际所能够耗用的更多能源,因而,从长期来看,它花费的成本要比必需的花费高得多。
功率因数是一个介于0和1之间的数字,其中的1代表着最大的或100%的效率。有些测试工具会自动计算这个值。某个系统所耗用的最明显的功率就是电压的RMS值与流经设备的电流的乘积,在这里我们假设波形是同相的。电力供应商用这个值来评估所耗用的总电量。问题是通常情况下,由于网络内的一系列复杂设备,电压和电流波形是不会同相的。
这种测量仅可在涉及到交流电源时才可用,而对于直流系统,就不能使用此方法了。
3、通信负载
测试功耗时,还要考虑通信负载。为了取得不同程度的网络活动能耗的精确情况,考虑不同的负载水平是很重要的。注意,被连接的端口和开放的端口状态不仅意味着电缆是连接的,而且表明物理层和MAC层是活动的。
序号端口状态通信负载
1全部无连接无
2活动的(连接并开放)无
3活动0%
4活动50%
5活动100%
4、帧/数据包的大小
这一点很关键。从历史上来看,对二层和三层交换机的测试是通过一系列大小不同的帧/数据包来实施的,最小的合法帧为64字节,最大的标准帧可达
1518字节,另外的一些测试数据帧大小也有许多变化,最常用的有128、 256、 512 、
1024等字节的数据帧。有些测试还包括了非标准的大型数据帧,如有的测试使用的测试帧可达16000字节,不过典型的测试还是使用9K字节或9128字节的数据帧。当然,如果仅是为了测试二层或三层交换机的功耗,我们没有必要使用这么多数据帧来全面测试。
虽然对于使用多大的数据帧去实施功耗测试并没有什么行业标准,但用户应当记住,一般情况下,我们应当避免仅使用64字节的数据帧去实施测试。因为这种测试强迫交换机处理最大数量的数据包(数据包小了,其数量自然就多了),从而使其功耗达也达最大值。
与上面这种情况相反的是,如果你的测试使用1518字节或更大的数据帧,就会减少每单位时间需要处理的数据帧数量(当然这要依赖于所使用的设备架构),从而就会减少功耗。不管怎样,测试人员都应当注意一次特定测试中所使用数据帧的大小。
对第四层及更高层交换机的测试需要考虑到实际的通信流(例如,会话的建立、数据传输、会话的拆除)。就其性质而言,这种通信主要由多种数据帧
(包)组成。因而,如果测试人员要测试这种高层交换机,仅考虑一种大小的数据帧就不可取了。
但是,需要认识到,处理更小和更大的数据单元确实存在于四到七层的交换机测试中。这种数据单元在测试中被称为“对象大小”,即通过交换机从 服务器
返回给客户端的对象大小。非常重要的一点是,这些对象的大小通常要比标准以太网的最大的数据帧(1518字节)还要大。
5、考虑局域网交换机能源效率测试的通信类型
根据通信的属性不同,交换机需要处理硬件或软件中或软硬件组合中的通信。虽然交换机的厂商很少披露其细节,但是对于测试人员来说,理解软件和硬件可以对交换机的能耗产生重大影响是很重要的。。
在交换机无法处理依赖于硬件芯片的某种通信时,就必须依赖于运行于主处理器中的软件,而这必定要增加CPU 的负担,从而增加能耗。
因而,在测量能耗时,通信类型和通信组合类型必须适用于你的使用目的,这一点非常重要。虽然多数交换机在硬件中处理第二层的通信,但是还有一些交换机在主处理器中处理第三层的某些或所有功能。
有时候,要想理解正在处理哪一层的通信并不太容易,甚至使人糊涂。关键是要记住,并不是内容决定层,而是交换机功能和设置决定了其层次。例如,我们可以将第七层的http通信通过第二层的交换机,但这台交换机仅能根据第二层的信息作出决定。因而,其结果都是相同的,而不管其通信是否包含应用程序信息还是除了第二层的地址信息什么也没有。
请记住,正因为你要传输上层的通信,你就不能简单地假定交换机正在一个特定水平上处理数据,除非你制定了测试计划,并证明你根据 协议
堆栈中特定等级的内容指导了通信。举个例子来说,我们可以设计许多第七层的测试,指示交换机根据所请求的web页面将通信发送给一个特定端口。这时,通过验证
服务器 是否收到了“get”请求,测试人员很容易地就可以证明这种处理过程是否正在某个层次上执行。