2009-08-27 11:08:59 来源:TT中国
应用交换机——即负载均衡器——对于应用发布和企业网络和电子商务中的性能是很重要的部分。与其它技术相似,应用交换机的RFP过程意味着大量的测试。
应用交换机测试并不总是很容易,因为模拟负载平衡器必须处理的请求和流量的容量是很困难的。同时,由于应用交换机的功能不仅仅是负载平衡,网络管理员会发现他们需要测试很多的功能。
Tolly Group已经出了一本关于测试应用交换机的技巧书来作为Tolly Common RFP Series的一部分。RFP系列书籍提供了波谱技术的测试指南,其中涉及的内容从LAN交换机互操作性到虚拟服务器性能。在《Tolly Common RFP: Application Switches》中,公司探讨了在不同的情形下应用交换机的测试,其中包括从2到15台服务器的小型业务,到具有100台以上服务器的数据中心等。
应用交换机测试:必须考虑的功能
从最简单的角度看来,应用交换器连接着复杂的后端服务器,具有一个名称和IP地址。但是,它们并不仅仅发送流量到后端服务器群。应用交换机还处理OSI模式的第4到7层的数据。
此外,它们进行深度包检测(DPI)以便根据更高层信息作出均衡决定。比如,HTTP文本数据可能通过一组服务器来处理,而HTTP图象数据则是由另一组进行处理。
对于更高的协议栈,应用交换机可以实现其它帮助提高用户体验的功能。有些设备支持从目标服务器剥离的SSL终端功能。这可以让服务器对用户请求响应更加灵敏。有些应用交换器也可以动态地压缩服务器响应,这样会减少需要的传输带宽。
负载均衡器也可以在发生攻击时提供完整性。由于它们通常是连接到Internet并作为TCP/IP网络的一个终端,因此,它们不可避免地会受到黑客攻击。当出现黑客攻击的情况时,应用交换器必须能够检测到这些攻击并在攻击发生时保持正常工作。
负载均衡器测试中的挑战
在网络中测试应用交换机表示检查它们在不同的情况下的工作状况。
理论上,负载均衡器可以通过使用实际的客户端来向实际的后端服务器发送请求来测试,但是在实践中,这并不是一个好的方法。要求生成足够负载以便消耗大多数负载均衡器而所需要的客户端和服务器数量在逻辑上和经济上是难以实现的。即使有足够的客户端/服务器基础架构,也将必须开发一个方法来生成流量和收集正确的性能统计。
应用交换机测试工具
认识到这些挑战,许多供应商已经开发一些工具,用来同时实现测试负载均衡所需要的客户端和服务器端元素。这些工具可以模拟来自客户端和服务器端的数据流量。因为它们是有目的地用来生成流量的,它们通常可以产生加压负载均衡器的高负载。它们也设计了重复的过程,这在多个设备间进行性能比较所必需的。
Tolly的应用交换机RFP指南包含许多的测试,包括4层协议的基本设备吞吐量、4层及7层协议的连接速率和响应时间、7层协议的事务速率、SSL分载性能、缓存和分布式服务拒绝(DDoS)攻击。本文中,我们将学习更多关于4层和7层协议的测试验证、测试缓存的关联性和测量DDoS性能。
4层和7层协议测试验证
这些测试的主要区别是应用交换在作出决定之前需要查找(如,所查找的协议棧深度)多少数据包。事实上,如果不小心的话,我们会把4层协议上的测试误认为是7层协议上的测试。比如,仅仅是因为HTTP流量不能证明DUT是在评估应用层的流量。
而许多数据变化可能跟一些特性有关,如上层协议的特殊处理、应用使用的具体协议等,下表是最常用的4层到7层协议上的测试验证流程。
Test | Goal | Verification Procedure |
4层协议 | 在IP地址层面作均衡决定。 | 验证指向一个“前端”IP地址的流量被分发到后台2个以上的服务器。 |
7层Web协议(HTTP) | 在HTTP内容层作均衡决定。 | 配置DUT来向一台服务器发送.html对象,而向另一台服务器发送.jpg图片对象。验证流量的流向。 |
Test | Goal | Verification Procedure |
7层安全Web协议(HTTPS) | 剥离加密/解密功能,然后在HTTP内容层面作均衡决定。 | 验证HTTP应用例子。此外,对于加密和解密,使用一个包捕捉工具验证DUT客户端的流量是加密的,而DUT和服务器之间的流量是不加密的。(通常只需要查看数据包的内容就能确定它是否加密。) |
测试结果
测试工具通常在测试过程中提供实时报表,并在后面提供更详细的分析。测试人员可能也想要在另一个数据端的测试时使用负载均衡器的报表功能。在测试工具保存测试结果后,测试人员只从稳定运行的设备上测试运行的部位获取值,然后计算这些读取的平均值(一般是一分钟以上)来得到最终结果。
由于测试人员需要单独评估哪些结果是“稳定状态”下产生的,因此结果会有所不同。但是,稳定状况结果一般是由100个以上的样例组成的。
服务器优化:缓存
目标服务器所传输的数据——以及通过应用交换机传输的数据是静态数据。比如,诸如公司LOGO和产品图片的对象几乎不会改变。对于这些对象,如果一个应用交换机重复地请求相同的对象,或者源服务器重复地获取或传输这些对象,都是很影响效率的。
实现缓存的应用交换机可以减少目标服务器的负载,从而使源服务器能够更高效地工作并可能提高客户端响应时间。
创建一个缓存测试最难的部分是通过设计使结果对于部署更有意义,而不只是简单地显示应用交换机的性能。如果一个应用交换机供应商选择强调一个说明大量缓存数据传输给了客户端的测试,那么这些结果可能并不意味着缓存能提高性能。
为了创建一个缓存相关和/或解释一个缓存测试报告,我们首先需要评估从Web服务器请求的数据流量模型。我们必须首先知道所测试的应用交换机所支持的缓存。然后我们必须分析服务器发送的实际流量流。因此,我们必须大致确定流量的:
缓存交换面支持的一个数据类型。
服务器正在发送的重复数据。
测试工具一般没有特别为评估实现缓存方式的测试模板。
分布式拒绝服务(DDoS)性能测试
应用交换机经常用在内部网与公共Internet的交界处。因此,应用交换机是攻击的主要目标。交换机本身不是攻击的直接目标,但是攻击者知道这是用户访问企业内部数据的一个网关。通过使应用交换机无法处理实际的用户数据,攻击者最终达到拒绝服务攻击的目的。
试图阻止正常处理的最常用方法是发送特定协议数据包来触发交换机的资源分配,最终耗尽合法会话所需要的资源。
DDoS性能测试是检查一个应用交换机能够检测和防御拒绝服务攻击的能力。
测试概述
主流性能测试是尝试发现最大性能,这个测试为有效流量建立一个基线作为开始点。然后,通过使用DUT来处理有效流量的一个稳定流量,测试人员发起针对DUT的攻击来测量在吞吐量耗尽前它的防御数量。
这个测试没有官方或具体标准——甚至是常用实践方法来确定一个应用交换机在攻击中所应该能够处理的流量数。重要的是预想的部署所需要的是什么条件。
我们的测试对于有效流量使用的是1 Gbps的传输率,它可能是确定关联的流量数。记住需要选择的带宽应小于测试中需要注入的攻击流量的最大值。
测试人员也必须确定测试相关的攻击。因为不同的攻击对于DUT的影响不同,所以不能因为DUT能够阻止一种特定的攻击就认为它可以阻止所有的攻击。
常见的攻击
•ICMP (Ping)
•SYN Flood
•Tear Drop
•Land
•Fraggle
•Zombie Connection
•Ping of Death
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。