看Linux及SQL如何构建网络性能分析测试系统

丰富的开发工具和开源软件组件是Linux环境的主要优点之一,如今,支撑通信网络的设备无论在速度、吞吐量、性能还是其支持的服务方面都变得日益强大。显然对用户来说这是福音——但对生产商来说这却是一项重大挑战。 

路由器的设计目标也许是与10000个其它设备流畅交互。那么其生产商就必须维护一个由所有服务器、网关、交换机及其他(用来重现设备可能面临的标准状态与压力状态的)装置组成的测试网络吗?

显然,这会导致成本不菲,更别说时间的耗费了,并且如果测试一个普通路由器都如此困难,生产商如何测试最大规模电信网络设备(例如10GB以太网交换机)的功能,又如何度量系统交互与需求情景对于复杂服务(例如整合语音、数据与影像的“三合一”服务)的不同影响?

这就是Spirent Communications公司与其产品Spirent TestCenter要解决的问题。它的设计目标是复杂网络性能分析系统,提供软件与硬件真实模拟任何可能的网络流量情景,以简化并加速测试。通过在同一个应用程序中产生控制与数据层流量并收集测试结果,功能与性能测试集中于一个应用程序中。这样做的效果是,用户可以准确测量几微秒量级的设备延迟时间。

独一无二的基于Linux的高度分布式结构(在一个产品中可能分布有数百个甚至数千个运行在设备边缘的独立嵌入式Linux系统)使Spirent TestCenter能够以线路速率跟上网络数据包流量。操作所处的位置(位于Spirent TestCenter的端口,设备处理大量输入、输出数据包的地方)对于系统性能而言十分关键,因为它可以调节大量位于该处的CPU并确保只有测试结果(而非原始数据)被传送到中央控制应用程序那里。

 

图为Spirent TestCenter端口处的应用程序及数据库

使用基于SQL的开源关系数据库作为测试结果的后端存储,而且端口处部署有现场可编程门阵列(FPGA),主要来自Xilinx公司,用来处理最为性能密集的任务:产生、捕获与分解数据包。对于大规模测试,用户可以将多种机箱加入到安装中,形成多达720个端口。系统可以捆绑到一起以提供更多端口。这样,一个端口可依次模拟32,000个数据流,使得系统能够“创建”由数以百万计主机与设备组成的网络,以测试交换机、路由器或其他设备。

为进行测试,有端口(通常不少于2个)将被连接到测试设备上的端口。用户通过运行在相连的PC或笔记本电脑上控制应用程序进行控制。输入命令后,FPGA开始大量生成数据包,有效地将交换机或路由器“置于”用户指定的速度与流量级别的网络中。FPGA监控设备返回的流量,测试并分解输入的数据包来度量延迟时间、抖动、丢包率以及数百种其它现象(根据测试需要),将这些数据发送给eXtremeDB内存嵌入式数据库。

几乎所有测试结果都由测试模块的应用程序计算得到,尽管少部分(例如需要利用多种来源数据计算的平均值)在控制PC机中计算。在数据收集点处完成几乎全部数据分析工作,可以充分利用分布于整个系统中的众多CPU(其中一些为多核),从而提升系统性能。

这些测试可以传输的信息种类多的惊人。一些用户仅仅关注第2或第3通讯子层(参考OSI 7层模型),或测量处于更高子层状态流量的特性。对于防火墙与其他与安全相关的设备,设备可以对数据包进行深入分析以探测出带有病毒及其它恶意程序特征的模式(一种更加CPU密集的分析)。系统支持相对简单的工业标准网络设备测试(例如:IETF RFC 2544和2889),但更适合进行关系到多种应用程序和流量的高度复杂分析。今天,人们期待网络能够同时处理IPTV、Web通信以及VoIP数据。与此同时还要应付不断变更的IPTV频道。最困难的挑战之一是运行针对这些情况(尤其是它们同时发生时)的测试。

将定制FPGA功能与软件处理相结合,我们可以在TestCenter中完成这个任务。在软件方面,设备广泛利用了Linux的多线程。测试程序隔离了各种功能(例如IPTV测试、VoIP测试以及多种数据库行为)并将它们分配给不同的线程。相比之下,许多老式测试技术只利用了一个CPU线程,我们产品中最“硬”的实时性能来自FPGA。

与FPGA硬件相比,系统的嵌入式软件并非“硬”实时,它只是非常快而已。我们不需要Linux的响应时间达到微秒量级,MontaVista Linux系统内建的Jiffy时间片管理工具对软件需求已经是绰绰有余。

当我们在几年前试图将产品转变为现在的分布式结构时,寻找一个能在端口处足够快的进行分类、存储以及检索测试数据的数据库是一个挑战。我们需要一个内存式数据库,从而避免文件I/O、缓存管理以及磁盘数据库相关的其他开销。系统性能得益于引导性的数据库应用编程接口(API),即,嵌入代码的API函数通过循环操作方式,一次只针对一条数据库记录工作,应用程序逻辑决定当前记录行是否属于目标集合。

SQL在测试系统中也占有一席之地,控制程序中包含开源的SQLite数据库,从分布式Linux系统中提取的测试结果就保存在该DBMS中。之所以选择SQLite是因为它对于这种非实时存储足够快,并且如果需要的话,可以“插入”一个不同的SQL数据库作为后端。可靠性及速度使Linux成为我们理想的选择。Linux的稳定性很好。如果有一千个端口,每个端口都有自己的Linux系统,并假设每个分布式系统的平均故障时间是1000分钟,那么整个测试平均每分钟都会出故障,这是无法接受的。因此,对如此大规模的分布式智能设备来说,稳定性是绝对的关键。

Linux环境丰富的开发工具和开源软件组件也是主要优点之一。例如:利用Scons构建工具可以将软件分布在Spirent的20或30台专用机器上,并将工作交给那些空闲的计算机。用于该产品的一种Linux工具是MontaVista公司的Application Pre-Linking,它扫描系统中的所有二进制文件来发现链接依赖关系。这样就不需要在应用程序运行时动态生成链接信息。

Spirent TestCenter依靠定制编程的FPGA来产生和分析数据包,它同样也可以使用开源的PCAP(Packet Capture,数据包捕获)API来进行数据包的捕获和存储。结果文件可以由基于PCAP的应用程序(如:WireShark)打开并查看,从而协助追踪bug(如:设备抖动的原因)。您说出一种Linux工具我们就可能在使用它,因为Linux基本上是一组构件的集合,TestCenter的设计则是基于这些构件的。系统中的处理器一般是成品的Intel x86和Cavium Network处理器。

我们产品中的另一开源组件是tcl/tk —— 开源的工具命令行语言(Tool Command Language)及GUI工具包。tcl/tk脚本在自动运行一组时分别在10%、20%、30%等线路速率情况下测量第二层性能的测试,之后自动开始其他第二层测试。

用户只需要按下“play”同样可以执行更长时间的测试,因为用户(包括制造商、认证机构以及以电信公司为代表的买方)需要从不同角度、针对多种模拟情况对网络设备进行压力测试,以确保设备能够达到他们声称的能力。

【编辑推荐】

  1. 豆瓣网开源数据库BeansDB发布 采用分布式键值存储
  2. PostgreSQL对决InnoDB 多版本并发控制大比拼
  3. PostgreSQL客户端处理事务功能详解
  4. MySQL创始人打造MariaDB 全面兼容MySQL 5.1
  5. PL/SQL开发中动态SQL的使用与过程分页

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/229696.html<

(0)
管理的头像管理
上一篇2025-04-18 21:37
下一篇 2025-04-18 21:38

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注