发明名称 一种远程数据库响应性能测试比较系统及方法
摘要 本发明具体公开了一种远程数据库响应性能测试比较系统及方法,包括控制系统、数据发送模块和数据相应模块,所述的控制系统包括:FPGA板卡、待测的服务器和上位机,所述的FPGA板卡通过RJ45接口与待测服务器相连,所述的FPGA板卡通过SPI接口与上位机相连;所述的数据发送模块包括IP_hdr_ctrl模块,IP_data_ctrl模块,IP_pkt_gen_ctrl模块,Link_ctrl模块,Rate_ctrl模块和Pkt_seng_module模块,所述的响应分析模块包括:TCP_link_pkt模块,TCP_link_parser模块,DB_ACK_parser模块和Result_analysis模块。
申请公布号 CN102833131B 申请公布日期 2016.05.25
申请号 CN201210307910.5 申请日期 2012.08.27
申请人 济南大学 发明人 陈贞翔;王可可;杨波;马坤;刘鹍
分类号 H04L12/26(2006.01)I;G06F11/00(2006.01)I 主分类号 H04L12/26(2006.01)I
代理机构 济南圣达知识产权代理有限公司 37221 代理人 张勇
主权项 一种远程数据库响应性能测试比较系统的比较方法,其特征在于:所述系统包括一个FPGA板卡,其特征在于:FPGA板卡包括若干RJ45接口、数据发送模块、数据库响应分析模块和测试数据包生成模块,所述的若干RJ45接口与对应的待测服务器相连,所述的FPGA板卡通过PCI接口与上位机相连;所述测试数据包生成模块,用于产生测试所用的数据包,这些数据包在PCI总线的控制下能够产生用于测试的数据包;所述的数据发送模块的作用主要是通过RJ45接口向待测服务器发送数据;所述的数据库响应分析模块的主要作用统计响应速度,发送和接收时间,返回的结果,延时信息;用于分析FPGA探测到的服务器返回的信息;数据发送模块包括IP_hdr_ctrl模块,IP_data_ctrl模块,IP_pkt_gen_ctrl模块,Link_ctrl模块,Rate_ctrl模块和Pkt_seng_module模块;IP_hdr_ctrl模块主要完成数据包头部的产生,IP_data_ctrl模块主要完成数据包负载的产生,IP_pkt_gen_ctrl模块主要是控制IP_hdr_ctrl模块和IP_data_ctrl模块,Link_ctrl模块主要启动IP_pkt_gen_ctrl模块,Rate_ctrl模块主要控制数据的发送速度,Pkt_seng_module模块主要发送上一步所产生的数据包;所述的响应分析模块包括:TCP_link_pkt模块,TCP_link_parser模块,DB_ACK_parser模块和Result_analysis模块;TCP_link_pkt模块主要侦听网络接口和接收并判断数据包是否为TCP连接数据包,TCP_link_parser模块主要接收数据包后解析并控制TCP连接,DB_ACK_pkt检测收到的数据包是否为数据库响应数据包,Result_analysis模块主要接收信息,并且对信息进行初步的分析;测试数据包生成模块工作过程:步骤(1):在测试开始时,系统上电,TCP连接模块产生用于TCP三次握手协议所用的数据包,并且发送;FPGA收到服务器发送的握手协议数据之后,对其进行分析,重复此过程,直至TCP连接建立;步骤(2):TCP连接建立之后,数据包头产生模块和数据负载产生模块开始进行工作,分别产生随机的测试数据MAC,设定协议和源、目的IP以及随机的数据库增删改查操作的数据;步骤(3):把数据包头和数据负载合并成为完整的数据包,并且加上NF工程的头部和结尾,这些数据包将被存进FIFO,等待速率控制模块和发送模块进行调用;步骤(4):速率控制模块将控制数据包的转发速度;性能测试的关键点也是速率控制模块;速率控制模块提取前一模块FIFO中的数据包,并且按照既定的转发速度向下一个模块发送数据包,从而达到控制数据包发送速度的目的;以下数据速率控制模块的测试功能:(4.1)以设定的速率进行数据库服务器连接测试;只发送数据库的连接请求,通过发送请求检测设定速率下服务器的连接响应速度,从而测试数据库服务器的连接成功率;(4.2)以设定的速率发送数据库操作请求,通过接收模块解析测试设定速率下数据库操作的正确性;(4.3)以最大的发送速率对数据库服务器进行负载的测试;系统最大的数据发送速率位1Gbps,在这样的速率下可以测试数据库服务器在高负载情况下的稳定性、访问的持久性以及吞吐量;(4.4)以递增的速率进行数据库服务器请求,解析模块通过数据库返回包的时间间隔和发送间隔的比较,从而确定服务器最大的负载;(4.5)以设定的模式发送单一请求;再次模式下连续发送一系列的单一数据请求包,通过多次测试评估数据库服务器在某一操作下的平均响应时间;数据发送模块的步骤包括:步骤一:上电就绪,等待上位机对FPGA配置完成;步骤二:启动TCP_link_gen模块,产生TCP连接所需要的三次握手协议的数据包,并通过Pkt_send_module发送;步骤三:TCP_link_pkt模块侦听网络接口,捕获服务器响应的TCP连接数据包,确认TCP连接完成之后,向Link_ctrl模块发送TCP连接完成信息;步骤四:Link_ctrl模块启动IP_pkt_gen_ctrl模块;步骤五:在IP_pkt_gen_ctrl模块控制下,IP_hdr_ctrl和IP_data_ctrl分别完成数据包头部和数据包负载的产生,并且结合产生完整的待测试的数据包;步骤六:Rate_ctrl模块控制数据的发送速度,Pkt_seng_module发送上一步所产生的数据包;响应分析模块的步骤包括:步骤七:TCP_link_pkt接收并判断数据包是否为TCP连接数据包,若是则转发至步骤八,否则,转发数据包至步骤九;步骤八:TCP_link_parser接收数据包后解析并控制TCP连接,直至TCP连接完成,然后发送link_ctrl完成信息;步骤九:DB_ACK_pkt检测收到的数据包是否为数据库响应数据包,若是则传至步骤十,否则就丢弃;步骤十:DB_ACK_parser主要用于解析确认包的数据,把数据库中返回的信息进行有效的提取;步骤十一:Result_analysis模块接收步骤十的信息,并且对信息进行初步的分析;部分信息则将通过PCI接口传至上位机。
地址 250022 山东省济南市市中区济微路106号