CN104618192B - 数据库审计设备的测试方法和装置 - Google Patents

数据库审计设备的测试方法和装置 Download PDF

Info

Publication number
CN104618192B
CN104618192B CN201510077203.5A CN201510077203A CN104618192B CN 104618192 B CN104618192 B CN 104618192B CN 201510077203 A CN201510077203 A CN 201510077203A CN 104618192 B CN104618192 B CN 104618192B
Authority
CN
China
Prior art keywords
tested
data
packet
database
data packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510077203.5A
Other languages
English (en)
Other versions
CN104618192A (zh
Inventor
郭春颖
程涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Secworld Information Technology Beijing Co Ltd
Original Assignee
Secworld Information Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Secworld Information Technology Beijing Co Ltd filed Critical Secworld Information Technology Beijing Co Ltd
Priority to CN201510077203.5A priority Critical patent/CN104618192B/zh
Publication of CN104618192A publication Critical patent/CN104618192A/zh
Application granted granted Critical
Publication of CN104618192B publication Critical patent/CN104618192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据库审计设备的测试方法和装置。其中,该数据库审计设备的测试方法包括:获取测试用例和待测试数据包:检测数据库审计设备按照测试用例多次接收的测试仪器发送的待测试数据包;在检测到数据库审计设备接收到待测试数据包时,记录多次接收待测试数据包过程中待测试数据包的入库时间和丢包率,其中,入库时间为数据库审计设备第一次接收到待测试数据包的时间至将最后一个接收到的待测试数据包写入数据库之间的时间。通过本发明,解决了现有技术中数据库审计系统的性能测试不准确的问题,达到了提高测试数据库审计系统的性能的准确性的效果。

Description

数据库审计设备的测试方法和装置
技术领域
本发明涉及互联网领域,具体而言,涉及一种数据库审计设备的测试方法和装置。
背景技术
数据库审计系统主要用于监视并记录对数据库服务器的各类操作行为,通过对网络数据的分析,实时地、智能地解析对数据库服务器的各种操作,并记入审计数据库中以便日后进行查询、分析、过滤,实现对目标数据库系统的用户操作的监控和审计。目前,越来越多的大型企业意识到了数据库行为审计的重要性,现在采用独立的数据库审计产品已经成为业界的趋势。
性能测试是全面反映数据库审计系统处理分析能力的重要指标,而审计产品性能测试目前并没有统一的方法。一般的审计产品性能测试指标主要为每秒处理事件数,测试方法为数据包回放或使用高端测试仪器模拟数据库数据。无论采用哪种方式进行测试,都是使用测试工具提供的回放数据或发模拟数据的时间作为处理时间,而一般的审计产品为了提高系统性能,都有数据缓存能力,收到数据并不代表处理完成,也没有真正写入系统,所以这种测试方法并不能准确反映系统的处理能力。另外,数据库审计系统处理性能还与背景流量大小、会话处理能力、缓存能力等多项指标有关,所以上述测试方法也不能准确全面反映系统的处理性能。
针对现有技术中数据库审计系统的性能测试不准确的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据库审计设备的测试方法和装置,以解决数据库审计系统的性能测试不准确的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种数据库审计设备的测试方法。根据本发明的数据库审计设备的测试方法包括:获取测试用例和待测试数据包:检测所述数据库审计设备按照所述测试用例多次接收的测试仪器发送的所述待测试数据包;在检测到所述数据库审计设备接收到所述待测试数据包时,记录多次接收所述待测试数据包过程中所述待测试数据包的入库时间和丢包率,其中,所述入库时间为所述数据库审计设备第一个接收到所述待测试数据包的时间至将最后一个接收到的所述待测试数据包写入数据库之间的时间。
为了实现上述目的,根据本发明实施例的另一方面,提供了一种数据库审计设备的测试装置。根据本发明的数据库审计设备的测试装置包括:获取单元,用于获取测试用例和待测试数据包;检测单元,用于在检测所述数据库审计设备是否按照所述测试用例多次接收测试仪器发送的所述待测试数据包;记录单元,用于在检测到所述数据库审计设备接收所述待测试数据包时,记录多次接收所述待测试数据包过程中所述待测试数据包的入库时间和丢包率,其中,所述入库时间为所述数据库审计设备第一个接收到所述待测试数据包的时间至将最后一个接收到的所述待测试数据包写入数据库之间的时间。
根据发明实施例,获取测试用例和待测试数据包:检测数据库审计设备按照测试用例多次接收的测试仪器发送的待测试数据包;在检测到数据库审计设备接收到待测试数据包时,记录多次接收待测试数据包过程中待测试数据包的入库时间和丢包率,其中,入库时间为数据库审计设备第一次接收到待测试数据包的时间至将最后一个接收到的待测试数据包写入数据库之间的时间,通过利用多个测试用例测试审计设备的多个系统性能,能够全面覆盖数据库审计设备的处理性能,同时,通过计算审计设备接收到第一个数据包到将最后一个接收到的数据包写入到数据库的时间准确体现了审计设备处理数据包的时间,避免了现有技术将回放数据或发模拟数据的时间作为处理时间,提高了计时的准确性,由于审计设备的系统性能参数利用处理时间来进行计算,因此,提高了审计设备的性能测试的准确性。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
在附图中:
图1是根据本发明实施例的数据库审计设备的测试方法的流程图;以及
图2是根据本发明实施例的数据库审计设备的测试装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种数据库审计设备的测试方法。该数据库审计设备的测试方法能对数据库审计设备的处理性能进行测试。该测试方法可以采用多个测试用例对数据库审计设备的处理性能进行测试,全面覆盖了体现数据库审计设备性能的多项指标,能够准确反映数据库审计设备的处理性能。同时,由于该测试方法采用数据库审计设备记录收到数据到将接收到的数据存入到数据库审计设备的数据库中的时间,从而提高了计算数据库审计设备的处理速率的准确性,也就解决了现有技术中数据库审计系统的性能测试不准确的问题,达到了提高测试数据库审计系统的性能的准确性的效果。在记录了数据库审计设备的处理性能的测试结果后,可以根据测试结果找出数据审计设备的处理瓶颈,以便对数据库审计设备进行优化。
图1是根据本发明实施例的数据库审计设备的测试方法的流程图。如图1所示,该数据库审计设备的测试方法包括步骤S102至步骤S106:
步骤S102,获取测试用例和待测试数据包。测试用例可以是多个测试用例,每个测试用例测试数据库审计设备的一个性能。测试用例可以对数据库审计设备的多项性能进行测试,例如,无背景流量时前景数据入库性能、有背景流量时前景数据入库性能、多会话处理能力、多网卡抓包性能和缓存写满时间等。
获取待测试数据包时,连接客户端和数据库服务器,采集客户端和数据库服务器之间通信的数据包,该数据包包括了完整的会话数据,如用户的登录、登录后的操作以及登出等数据。一般测试常用的数据库如Oracle和SQL server数据库,客户端连接到数据库后执行DQL(数据查询语言),DML(数据操作语言),TCL(事务控制语言),DDL(数据定义语言),DCL(数据控制语言)等操作,操作完成后断开数据库的连接。针对不同的数据库的测试可以采集相应的数据库的数据包,本实施例的测试方法可以对多种数据库的性能进行测试。在获取到待测试数据包时,需要去除无用的数据包,仅保留数据库连接的数据包。
步骤S104,检测数据库审计设备按照测试用例多次接收的测试仪器发送的待测试数据包。在数据库审计设备中设置了计时单元、会话统计单元、自检单元和性能分析单元。其中,计时单元用于计算数据库审计设备从接收到数据包到将接收到的数据全部写入到数据库的时间;会话统计单元可以统计写入数据库审计设备的会话数;自检单元可以用来检测数据库审计设备的缓存是否写满;性能分析单元可以用来计算测试时间内事件解析入库的平均处理能力。在执行测试用例时,可以使用crontab定期调用上述测试单元中的一个或多个。其中,crontab是UNIX系统下定期执行任务的触发器。用户把要定期执行的任务记录在这个文件下面,然后crond定期的去检查这个定期执行列表,有要执行的工作时便自动执行。
步骤S106,在检测到数据库审计设备接收到待测试数据包时,记录多次接收待测试数据包过程中待测试数据包的入库时间和丢包率,其中,入库时间为数据库审计设备第一次接收到待测试数据包的时间至将最后一个接收到的待测试数据包写入数据库之间的时间。数据库审计设备接收到待测试数据包后对其进行预处理后写入缓存文件,然后数据库审计设备的处理器从缓存文件中读取数据进行解析和归一化处理后写入审计设备的数据库。
由于入库时间能够反应数据库审计设备的入库速率,丢包率能够反应数据库审计设备的处理能力,丢包率为:(测试仪器发送的事件数-数据库审计设备入库的事件数)/测试仪器发送的事件数。因此,通过记录待测试数据包入库时间和丢包率可以分析数据库审计设备的性能。在数据库审计设备上设置有计时单元,该计时单元能够记录接收到第一数据包的时间和将最后一个数据包的入库时间,由于该计时单元设置在数据库审计设备上,准确的记录了接收时间和入库时间,避免了数据库审计设备处理数据造成的时间误差。
通过上述实施例,利用多个测试用例测试数据库审计设备的多个系统性能,能够全面覆盖数据库审计设备的处理性能,同时,通过计算数据库审计设备接收到第一个数据包到将最后一个接收到的数据包写入到数据库的时间准确体现了数据库审计设备处理数据包的时间,避免了现有技术将回放数据或发模拟数据的时间作为处理时间,提高了计时的准确性,由于数据库审计设备的系统性能参数利用处理时间来进行计算,因此,提高了数据库审计设备的性能测试的准确性。
以下分别对调用不同测试用例来测试数据库审计设备的不同性能进行说明。
实施例1
测试用例为无背景流量时前景数据入库性能测试的测试用例。具体地,检测数据库审计设备按照测试用例多次接收的测试仪器发送的待测试数据包包括:检测由测试仪器发送的待测试数据包,其中,测试仪器按照不同发送速率向数据库审计设备发送预定次数的待测试数据包,其中,在记录接收待测试数据包过程中的入库速率和丢包率之后,数据库审计设备根据丢包率计算待测试数据包的丢包阈值。
测试仪器按照不同的发送速率多次发送待测试数据,发送待测试数据的次数为预定次数。如按照100Mbps、200Mbps、300Mbps等速率发送待测试数据,每种速率下发送一万次。记录入库速率和丢包率,在发生丢包时,采用折半法调整发送速率,并记录入库速率和丢包率,直至找出丢包阈值。
例如,发送速率为100Mbps未出现丢包,发送速率为200Mbps时出现丢包,然后调整发送速率为150Mbps并检测是否出现丢包,如果150Mbps出现丢包,则调整发送速率为125Mbps并再次检测是否丢包;如果150Mbps未出现丢包,则调整发送速率为175Mbps并检测是否丢包。依次类推,直至找到出现丢包的速率,并将第一次出现丢包的发送速率作为丢包阈值。如第一次出现丢包的发送速率为125Mbps,即在发送速率达到125Mbps时开始出现丢包。
在测试用例为无背景流量时前景数据入库性能测试的测试用例时,可以测试出不同速率下的数据包入库速率和丢包率,以及丢包阈值,即能够反应出被测的数据库审计设备的处理数据并入库的速度,在保证不丢包的情况下所能承受的数据传输速率,还能计算出在保证一定丢包率的情况下的最大数据传输速率。
实施例2
测试用例为有背景流量时前景数据入库性能测试的测试用例。该实施例可以测试背景流量对前景数据的入库性能的影响,具体地,检测数据库审计设备按照测试用例多次接收的测试仪器发送的待测试数据包包括:获取背景数据和按照无背景流量时前景数据入库的测试用例进行测试时的丢包阈值所对应的发送速率;检测由测试仪器按照获取到的发送速率发送给数据库审计设备的第一抓包口的待测试数据;检测由测试仪器按照不同速率发送给数据库审计设备的第二抓包口的背景数据。在该实施例中,前景数据为待测试数据包,背景数据为模拟实际网络环境中,传输待测试数据时的待测试数据以外的数据,测试仪器的两个发包口分别与数据库审计设备直连,将待测试数据包和背景数据发送给数据库审计设备。其中,数据库审计设备的第一抓包口接收待测试数据,该待测试数据按照固定流量发送,该固定流量为无背景流量时前景数据入库性能测试的测试用例中测试得到的丢包阈值;数据库审计设备的第二抓包接收背景数据,背景数据以不同的速率发送给数据库审计设备。
例如,在无背景流量时前景数据入库性能测试的测试用例中测试得到的丢包阈值125Mbps,则第一抓包口按照125Mbps的速率接收待测试数据,第二抓包口分别以100Mbps、200Mbps、300Mbps……速率进行背景数据的接收。数据库审计设备记录不同背景数据的传输速率下,接收到的待测试数据的入库速率和丢包率,并记录不同背景数据的传输速率下的丢包阈值。
在测试用例为有背景流量时前景数据入库性能测试的测试用例时,可以测试出不同速率的背景流量下的待测试数据包入库速率和丢包率,以及丢包阈值,即能够反应出被测的数据库审计设备在处理背景数据和待测试数据时待测试数据的入库的速度,在保证不丢包的情况下所能承受的最大数据传输速率,还能计算出在保证一定丢包率的情况下的最大数据传输速率,即背景流量对数据库审计设备的入库性能的影响。
优选地,为了模拟不同环境下的背景数据对待测试数据的影响,背景数据包括http背景数据和64字节随机包。http背景数据为应用层的数据,在实际的数据传输过程中通常会随着待测试数据传输的数据,http背景数据较长但是长度不定,为不规则的数据长度,可以覆盖较多长度的背景数据。64字节随机包的数据长度固定为64字节,为最短的以太网数据包,同样流量下需要处理的64字节小包数量最多,同时随机包中的数据不限定上层协议,其可以覆盖的数据类型更广。
通过上述实施例,有背景流量时前景数据的入库性能与无背景流量时前景数据的入库性能相比较,可以体现背景流量对前景数据入库性能的影响,并且,由于采用不同的背景流量进行前景数据入库性能的比较,可以更准确的模拟数据库审计设备的入库性能。现有技术中单一的检测数据库审计设备对数据包的处理性能,不能确定影响数据库审计设备对数据包处理的具体因素,而本实施例从多个方面数据库审计设备处理性能的测试,提高了测试的准确性,也就解决了现有技术数据库审计系统的性能测试不准确的问题,达到了准确测量数据库审计系统的性能测试的效果。
实施例3
测试用例为多网口抓包性能测试用例。具体地,检测数据库审计设备按照测试用例多次接收的测试仪器发送的待测试数据包包括:检测数据库审计设备的第一抓包口接收第一待测试数据包;检测数据库审计设备的第二抓包口接收第二待测试数据包,其中,第一抓包接收第一待测试数据包的速率和第二抓包口接收第二待测试数据包的速率相同,第一待测试数据包和第二待测试数据包均为待测试数据包中的一个或多个数据包,第一待测试数据包的五元组与第二待测试数据包的五元组不同。
在该实施例中,测试仪器的两个发包口分别与数据库审计设备的两个抓包口相连接,测试仪器的两个发包口分别以不同速率发送数据包。为了避免数据库审计设备处理会话出错,两个抓包口接收不同的数据包。由于第一抓包口和第二抓包口抓取的数据包均为待测试数据包中的一个或者多个数据包,因此,测试仪器的两个发包口在发送数据包时,修改其中一个待测试数据包的五元组。其中,五元组即源IP地址、源端口、目的IP地址、目的端口和传输层协议号。
两个抓包口传输数据的速率之和作为测试的速率,五元组不同的第一待测试数据包和第二待测试数据包能够避免审计设备在处理数据时出错,并不会导致传输速率和丢包率的变化。例如,第一抓包口接收第一待测试数据包的速率为50Mbps,第二抓包口接收第二待测试数据包的速率为50Mbps,分别接收仅五元组不同的两组数据包,则该测试的传输速率为100Mbps,即通过两个抓包口的传输速率总共为100Mbps,同样记录入库速率和丢包率,并记录丢包阈值。在判断丢包阈值时,也可以采用折半算法。该实施例可以测试多网口抓包对系统性能的提升度。
该实施例的测试结果可以与实施例1中的测试结果进行比较,同样以100Mbps的速度传输数据,数据库审计设备分别采用一个抓包口和两个抓包口来接收数据,以此判断哪种方式的入库速率较快,哪种方式的丢包率低,并且能够找出两种方式的丢包阈值,以此来进行数据库审计设备的优化等。
实施例4
测试用例为多会话处理能力测试用例。数据库审计设备通过交换机镜像口获取到交换机的实时会话,本测试用例测试数据库审计设备能保持的最大会话数。检测数据库审计设备按照测试用例多次接收的测试仪器发送的待测试数据包包括:检测数据库审计设备从交换机的镜像口获取到的实时会话的数据包,其中,测试仪器的一个端口模拟客户端的端口发起http连接,经过交换机,与测试仪器的模拟服务器端的端口建立http连接,并保持会话,其中,客户端发起连接的速率遵循预先设定的曲线;检测数据库审计设备通过交换机的镜像口获取到交换机的实时会话,并将这些会话将实时会话记录到当前会话列表中。
测试仪器分别模拟客户端和服务器端,其扮演客户端的端口发起大量http连接,经过交换机,与测试仪器扮演服务器的端口建立大量http连接,并保持会话。其中,客户端发起连接的速率遵循预先设定的曲线,包括爬升阶段、持续阶段和释放阶段。数据库审计设备通过交换机镜像口获取到交换机的实时会话,并将这些会话记录到当前会话列表中。本测试例使用计时单元记录处理耗时,使用会话统计单元统计持续阶段的的当前会话数和丢包率。当发生丢包时使用折半算法,测试以折半后速率发起http连接时会话是否丢失。在本实施测试例中,通过测试仪器模拟多条数据库会话,该测试用例主要用来测评数据库审计设备对会话的处理能力。
实施例5
测试用例为缓存写满时间测试用例。具体地,检测数据库审计设备按照测试用例多次接收的测试仪器发送的待测试数据包包括:检测由测试仪器按照不同速率发送的待测试数据包的速率;每间隔预定时间检测数据库审计设备的缓存是否写满,其中,在检测出数据库审计设备的缓存已经写满后,记录不同速率下写缓存写满的时间。本实施例用于检查缓存文件是否写满,缓存文件存储在/data/cache/data/cache_net_514路径下,最多允许产生30个缓存文件,每个文件大小20M,如果30个文件都写满会覆盖之前的文件数据,导致数据丢失,因此使用自检单元检测缓存文件是否写满并记录缓存文件写满的时间。性能分析单元内置了一些算法,用于计算测试时间内事件解析入库的平均处理能力。
数据库审计设备与测试仪器直连。测试仪器以100Mbps,200Mbps,500Mbps等不同速率持续发送待测试数据包给数据库审计设备。数据库审计设备的自检单元每隔1分钟检查缓存文件是否写满,记录缓存文件写满的时间。分别测试不同速率持续发送数据库流量时,缓存文件的写满时间。
在本实施例中,测试以不同速率发送数据库流量的情况下,缓存文件写满的时间。自检单元通过调用linux定期执行任务工具crontab实现每隔1分钟检查缓存文件是否写满,使测试的误差控制在1分钟内。从而确定不同速率下将缓存文件写满所需要的时间。
通过上述实施例,获取多个测试用例下的综合性能测试结果,找出审计系统的性能瓶颈,比较审计系统不同版本间的性能差异,主要比较相对与上一版本的性能提升是否满足需求。
本发明上述实施例,具有以下有益效果:
统一了测试环境、测试规范和测试流程,使得测试结果具有可比性。通过维护审计系统不同版本的性能测试结果,找出性能瓶颈和版本优化的方向。
通过使用测试仪器控制数据发送速率和次数,解决了手工反复构造测试数据效率低,测试数据速率和数量不易控制的问题。
通过在数据库审计设备上设置计时单元,能够较为准确的反映审计产品的性能。
本发明实施例还提供了一种数据库审计设备的测试装置。需要说明的是,本发明实施例的数据库审计设备的测试装置可以用于执行本发明实施例所提供的数据库审计设备的测试方法,本发明实施例的数据库审计设备的测试方法也可以通过本发明实施例所提供的数据库审计设备的测试装置来执行。
图2是根据本发明实施例的数据库审计设备的测试装置的示意图。如图2所示,该数据库审计设备包括:获取单元10、检测单元30和记录单元50。
获取单元10用于获取测试用例和待测试数据包。测试用例可以是多个测试用例,每个测试用例测试数据库审计设备的一个性能。测试用例可以对数据库审计设备的多项性能进行测试,例如,无背景流量时前景数据入库性能、有背景流量时前景数据入库性能、多会话处理能力、多网卡抓包性能和缓存写满时间等。
获取待测试数据包时,连接客户端和数据库服务器,采集客户端和数据库服务器之间通信的数据包,该数据包包括了完整的会话数据,如用户的登录、登录后的操作以及登出等数据。一般测试常用的数据库如Oracle和SQL server数据库,客户端连接到数据库后执行DQL(数据查询语言),DML(数据操作语言),TCL(事务控制语言),DDL(数据定义语言),DCL(数据控制语言)等操作,操作完成后断开数据库的连接。针对不同的数据库的测试可以采集相应的数据库的数据包。在获取到待测试数据包时,需要去除无用的数据包,仅保留数据库连接的数据包。
检测单元30用于检测数据库审计设备是否按照测试用例多次接收测试仪器发送的待测试数据包。在数据库审计设备的测试装置中设置了计时单元、会话统计单元、自检单元和性能分析单元。其中,计时单元用于计算数据库审计设备从接收到数据包到将接收到的数据全部写入到数据库的时间;会话统计单元可以统计写入数据库审计设备的数据的会话数;自检单元可以用来检测数据库审计设备的缓存是否写满;性能分析单元可以用来计算测试时间内事件解析入库的平均处理能力。采用测试仪器发送获取的待测试数据包,在执行测试用例时,可以使用crontab定期调用上述测试单元中的一个或多个。其中,crontab是UNIX系统下定期执行任务的触发器。用户把要定期执行的任务记录在这个文件下面,然后crond定期的去检查这个定期执行列表,有要执行的工作时便自动执行。
记录单元50用于在检测到数据库审计设备接收待测试数据包时,记录多次接收待测试数据包过程中待测试数据包的入库时间和丢包率,其中,入库时间为数据库审计设备第一次接收到待测试数据包的时间至将最后一个接收到的待测试数据包写入数据库之间的时间。数据库审计设备接收到待测试数据包后对其进行预处理后写入缓存文件,然后处理器从缓存文件中读取数据进行解析和归一化处理后写入审计设备的数据库。由于入库时间能够反应数据库审计设备的入库速率,丢包率能够反应数据库审计设备的处理能力,因此,通过记录待测试数据包入库时间和丢包率可以分析数据库审计设备的性能。在数据库审计设备的测试装置上设置有计时单元,该计时单元能够记录接收到第一数据包的时间和将最后一个数据包的入库时间,由于该计时单元设置在数据库审计设备上,准确的记录了接收时间和入库时间,避免了数据库审计设备处理数据造成的时间误差。
通过上述实施例,利用多个测试用例测试数据库审计设备的多个系统性能,能够全面覆盖数据库审计设备的处理性能,同时,通过计算数据库审计设备接收到第一个数据包到将最后一个接收到的数据包写入到数据库的时间准确体现了数据库审计设备处理数据包的时间,避免了现有技术将回放数据或发模拟数据的时间作为处理时间,提高了计时的准确性,由于数据库审计设备的系统性能参数利用处理时间来进行计算,因此,提高了数据库审计设备的性能测试的准确性。
以下分别对调用不同测试用例来测试数据库审计设备的不同性能进行说明。
测试用例为无背景流量时前景数据入库性能测试的测试用例,检测单元包括:第一检测模块,用于检测由测试仪器发送的待测试数据包,其中,测试仪器按照不同发送速率向数据库审计设备发送预定次数的待测试数据包,其中,在记录接收待测试数据包过程中的入库速率和丢包率之后,数据库审计设备根据发送速率和丢包率计算待测试数据包的丢包阈值。
测试仪器按照不同的发送速率多次发送待测试数据,发送待测试数据的次数为预定次数。如按照100Mbps、200Mbps、300Mbps等速率发送待测试数据,每种速率下发送一万次。记录入库速率和丢包率,在发生丢包时,采用折半法调整发送速率,并记录入库速率和丢包率,直至找出丢包阈值。
例如,发送速率为100Mbps未出现丢包,发送速率为200Mbps时出现丢包,然后调整发送速率为150Mbps并检测是否出现丢包,如果150Mbps出现丢包,则调整发送速率为125Mbps并再次检测是否丢包;如果150Mbps未出现丢包,则调整发送速率为175Mbps并检测是否丢包。依次类推,直至找到出现丢包的速率,并将第一次出现丢包的发送速率作为丢包阈值。如第一次出现丢包的发送速率为125Mbps,即在发送速率达到125Mbps时开始出现丢包。
在测试用例为无背景流量时前景数据入库性能测试的测试用例时,可以测试出不同速率下的数据包入库速率和丢包率,以及丢包阈值,即能够反应出被测的数据库审计设备的处理数据并入库的速度,在保证不丢包的情况下所能承受的数据传输速率,还能计算出在保证一定丢包率的情况下的最大数据传输速率。
测试用例为有背景流量时前景数据入库性能测试的测试用例,检测单元包括:获取模块,用于获取背景数据和按照无背景流量时前景数据入库的测试用例进行测试时的丢包阈值所对应的发送速率;第二检测模块,用于检测由测试仪器的第一发包口按照获取到的发送速率发送给数据库审计设备的第一抓包口的待测试数据;第三检测模块,用于检测由测试仪器的第二发包口按照不同速率发送给数据库审计设备的第二抓包口的背景数据。
在该实施例中,前景数据为待测试数据包,背景数据为模拟实际网络环境中,传输待测试数据时的待测试数据以外的数据,测试仪器的两个发包口分别与数据库审计设备直连,将待测试数据包和背景数据发送给数据库审计设备。其中,数据库审计设备的第一抓包口接收待测试数据,该待测试数据按照固定流量发送,该固定流量可以是在测试用例为无背景流量时前景数据入库性能测试的测试用例中测试得到的丢包阈值;数据库审计设备的第二抓包接收背景数据,背景数据以不同的速率发送给数据库审计设备。
例如,在无背景流量时前景数据入库性能测试的测试用例中测试得到的丢包阈值125Mbps,则第一抓包口按照125Mbps的速率接收待测试数据,第二抓包口分别以100Mbps、200Mbps、300Mbps……速率进行背景数据的接收。数据库审计设备记录不同背景数据的传输速率下,接收到的待测试数据的入库速率和丢包率,并记录不同背景数据的传输速率下的丢包阈值。
在测试用例为有背景流量时前景数据入库性能测试的测试用例时,可以测试出不同速率的背景流量下的待测试数据包入库速率和丢包率,以及丢包阈值,即能够反应出被测的数据库审计设备在处理背景数据和待测试数据时待测试数据的入库的速度,在保证不丢包的情况下所能承受的最大数据传输速率,还能计算出在保证一定丢包率的情况下的最大数据传输速率,即背景流量对数据库审计设备的入库性能的影响。
优选地,为了模拟不同环境下的背景数据对待测试数据的影响,背景数据包括http背景数据和64字节随机包。http背景数据为应用层的数据,在实际的数据传输过程中通常会随着待测试数据传输的数据,http背景数据较长但是长度不定,为不规则的数据长度,可以覆盖较多长度的背景数据。64字节随机包的数据长度固定为64字节,为最短的以太网数据包,同样流量下需要处理的64字节小包数量最多,同时随机包中的数据不限定上层协议,其可以覆盖的数据类型更广。
通过上述实施例,有背景流量时前景数据的入库性能与无背景流量时前景数据的入库性能相比较,可以体现背景流量对前景数据入库性能的影响,并且,由于采用不同的背景流量进行前景数据入库性能的比较,可以更准确的模拟数据库审计设备的入库性能。现有技术中单一的检测数据库审计设备对数据包的处理性能,不能确定影响审计设备对数据包处理的具体因素,而本实施例从多个方面数据库审计设备处理性能的测试,提高了测试的准确性,也就解决了现有技术数据库审计系统的性能测试不准确的问题,达到了准确测量数据库审计系统的性能测试的效果。
测试用例为多网口抓包性能测试用例,检测单元包括:第四检测模块,用于检测数据库审计设备的第一抓包口接收的第一待测试数据包;第五检测模块,用于检测数据库审计设备的第二抓包口接收的第二待测试数据包,其中,第一抓包口接收第一待测试数据包的速率和第二抓包口接收第二待测试数据包的速率相同,第一待测试数据包和第二待测试数据包均为待测试数据包中的一个或多个数据包,第一待测试数据包的五元组与第二待测试数据包的五元组不同。
在该实施例中,测试仪器的两个发包口分别与数据库审计设备的两个抓包口相连接,测试仪器的两个发包口分别以不同速率发送数据包。为了避免数据库审计设备处理会话出错,两个抓包口接收不同的数据包。由于第一抓包口和第二抓包口抓取的数据包均为待测试数据包中的一个或者多个数据包,因此,测试仪器的两个发包口在发送数据包时,修改其中一个待测试数据包的五元组。其中,五元组即源IP地址、源端口、目的IP地址、目的端口和传输层协议号。
两个抓包口传输数据的速率之和作为测试的速率,五元组不同的第一待测试数据包和第二待测试数据包能够避免审计设备在处理数据时出错,并不会导致传输速率和丢包率的变化。例如,第一抓包口接收第一待测试数据包的速率为50Mbps,第二抓包口接收第二待测试数据包的速率为50Mbps,分别接收五元组不同的两组数据包,则该测试的传输速率为100Mbps,即通过两个抓包口的传输速率总共为100Mbps,同样记录入库速率和丢包率,并记录丢包阈值。在判断丢包阈值时,也可以采用折半算法。该实施例可以测试多网口抓包对系统性能的提升度。
该实施例的测试结果可以与实施例1中的测试结果进行比较,同样以100Mbps的速度传输数据,数据库审计设备分别采用一个抓包口和两个抓包口来接收数据,以此判断哪种方式的入库速率较快,哪种方式的丢包率低,并且能够找出两种方式的丢包阈值,依次来进行数据库审计设备的优化等。
测试用例为缓存写满时间测试用例,检测单元包括:自检模块,用于每间隔预定时间检测数据库审计设备的缓存是否写满,其中,在检测出数据库审计设备的缓存已经写满后,记录不同速率写缓存写满的时间。
本实施例用于检查缓存文件是否写满,缓存文件存储在/data/cache/data/cache_net_514路径下,最多允许产生30个缓存文件,每个文件大小20M,如果30个文件都写满会覆盖之前的文件数据,导致数据丢失,因此使用自检单元检测缓存文件是否写满并记录缓存文件写满的时间。性能分析单元内置了一些算法,用于计算测试时间内事件解析入库的平均处理能力。
数据库审计设备与测试仪器直连。测试仪器以100Mbps,200Mbps,500Mbps等不同速率持续发送待测试数据包给数据库审计设备。数据库审计设备的自检单元每隔1分钟检查缓存文件是否写满,记录缓存文件写满的时间。分别测试不同速率持续发送数据库流量时,缓存文件的写满时间。
在本实施例中,测试以不同速率发送数据库流量的情况下,缓存文件写满的时间。自检单元通过调用linux定期执行任务工具crontab实现每隔1分钟检查缓存文件是否写满,使测试的误差控制在1分钟内。从而确定不同速率下将缓存文件写满所需要的时间。
通过上述实施例,获取多个测试用例下的综合性能测试结果,找出审计系统的性能瓶颈,比较审计系统不同版本间的性能差异,主要比较相对与上一版本的性能提升是否满足需求。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种数据库审计设备的测试方法,其特征在于,包括:
获取测试用例和待测试数据包:
检测所述数据库审计设备按照所述测试用例多次接收的测试仪器发送的所述待测试数据包;
在检测到所述数据库审计设备接收到所述待测试数据包时,记录多次接收所述待测试数据包过程中所述待测试数据包的入库时间和丢包率,其中,所述入库时间为所述数据库审计设备第一个接收到所述待测试数据包的时间至将最后一个接收到的所述待测试数据包写入数据库之间的时间;其中,
所述测试用例为无背景流量时前景数据入库性能测试的测试用例,检测所述数据库审计设备按照所述测试用例多次接收的测试仪器发送的所述待测试数据包包括:
检测由所述测试仪器发送的所述待测试数据包,其中,所述测试仪器按照不同发送速率向所述数据库审计设备发送预定次数的所述待测试数据包,
其中,在记录接收所述待测试数据包过程中的入库速率和丢包率之后,根据所述发送速率和所述丢包率计算所述待测试数据包的丢包阈值;和/或
所述测试用例为多网口抓包性能测试用例,检测所述数据库审计设备按照所述测试用例多次接收的测试仪器发送的所述待测试数据包包括:
检测所述数据库审计设备的第一抓包口接收第一待测试数据包;
检测所述数据库审计设备的第二抓包口接收第二待测试数据包,其中,所述第一抓包接收所述第一待测试数据包的速率和所述第二抓包口接收所述第二待测试数据包的速率相同,所述第一待测试数据包和所述第二待测试数据包均为待测试数据包中的一个或多个数据包,所述第一待测试数据包的五元组与所述第二待测试数据包的五元组不同;和/或
所述测试用例为多会话处理能力测试用例,检测所述数据库审计设备按照所述测试用例多次接收的测试仪器发送的所述待测试数据包包括:
检测所述数据库审计设备从交换机的镜像口获取到的实时会话的数据包,其中,所述测试仪器的一个端口模拟客户端的端口发起http连接,经过交换机,与所述测试仪器的模拟服务器端的端口建立所述http连接,并保持会话,其中,所述客户端发起连接的速率遵循预先设定的曲线;
检测所述数据库审计设备通过所述交换机的镜像口获取到交换机的实时会话,并将所述实时会话记录到当前会话列表中;和/或
所述测试用例为缓存写满时间测试用例,检测所述数据库审计设备按照所述测试用例多次接收的测试仪器发送的所述待测试数据包包括:
检测由测试仪器按照不同速率发送的所述待测试数据包的速率;
每间隔预定时间检测所述数据库审计设备的缓存是否写满,
其中,在检测出所述数据库审计设备的缓存已经写满后,记录当前速率下所述缓存写满的时间。
2.根据权利要求1所述的测试方法,其特征在于,所述测试用例为有背景流量时前景数据入库性能测试的测试用例,检测所述数据库审计设备按照所述测试用例多次接收的测试仪器发送的所述待测试数据包包括:
获取背景数据和按照所述无背景流量时前景数据入库的测试用例进行测试时的丢包阈值所对应的发送速率;
检测由所述测试仪器按照获取到的发送速率发送给所述数据库审计设备的第一抓包口的所述待测试数据;
检测由所述测试仪器按照不同速率发送给所述数据库审计设备的第二抓包口的所述背景数据。
3.根据权利要求2所述的测试方法,其特征在于,所述背景数据包括http背景数据和64字节随机包。
4.一种数据库审计设备的测试装置,其特征在于,包括:
获取单元,用于获取测试用例和待测试数据包;
检测单元,用于在检测所述数据库审计设备是否按照所述测试用例多次接收测试仪器发送的所述待测试数据包;
记录单元,用于在检测到所述数据库审计设备接收所述待测试数据包时,记录多次接收所述待测试数据包过程中所述待测试数据包的入库时间和丢包率,其中,所述入库时间为所述数据库审计设备第一个接收到所述待测试数据包的时间至将最后一个接收到的所述待测试数据包写入数据库之间的时间;其中,
所述测试用例为无背景流量时前景数据入库性能测试的测试用例,所述检测单元包括:
第一检测模块,用于检测由所述测试仪器发送的所述待测试数据包,其中,所述测试仪器按照不同发送速率向所述数据库审计设备发送预定次数的所述待测试数据包,
其中,在记录接收所述待测试数据包过程中的入库速率和丢包率之后,所述数据库审计设备根据所述发送速率和所述丢包率计算所述待测试数据包的丢包阈值;和/或
所述测试用例为多网口抓包性能测试用例,所述检测单元包括:
第四检测模块,用于检测所述数据库审计设备的第一抓包口接收的第一待测试数据包;
第五检测模块,用于检测所述数据库审计设备的第二抓包口接收的第二待测试数据包,其中,所述第一抓包口接收所述第一待测试数据包的速率和所述第二抓包口接收所述第二待测试数据包的速率相同,所述第一待测试数据包和所述第二待测试数据包均为待测试数据包中的一个或多个数据包,所述第一待测试数据包的五元组与所述第二待测试数据包的五元组不同;和/或
所述测试用例为缓存写满时间测试用例,所述检测单元包括:
自检模块,用于每间隔预定时间检测所述数据库审计设备的缓存是否写满,其中,在检测出所述数据库审计设备的缓存已经写满后,记录在当前速率下写所述缓存写满的时间。
5.根据权利要求4所述的测试装置,其特征在于,所述测试用例为有背景流量时前景数据入库性能测试的测试用例,所述检测单元包括:
获取模块,用于获取背景数据和按照所述无背景流量时前景数据入库的测试用例进行测试时的丢包阈值所对应的发送速率;
第二检测模块,用于检测由所述测试仪器的第一发包口按照获取到的发送速率发送给所述数据库审计设备的第一抓包口的所述待测试数据;
第三检测模块,用于检测由所述测试仪器的第二发包口按照不同速率发送给所述数据库审计设备的第二抓包口的所述背景数据。
CN201510077203.5A 2015-02-12 2015-02-12 数据库审计设备的测试方法和装置 Active CN104618192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510077203.5A CN104618192B (zh) 2015-02-12 2015-02-12 数据库审计设备的测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510077203.5A CN104618192B (zh) 2015-02-12 2015-02-12 数据库审计设备的测试方法和装置

Publications (2)

Publication Number Publication Date
CN104618192A CN104618192A (zh) 2015-05-13
CN104618192B true CN104618192B (zh) 2020-08-21

Family

ID=53152483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510077203.5A Active CN104618192B (zh) 2015-02-12 2015-02-12 数据库审计设备的测试方法和装置

Country Status (1)

Country Link
CN (1) CN104618192B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936658A (zh) * 2015-12-30 2017-07-07 中兴通讯股份有限公司 测试用例的测试方法及测试平台、模拟测试设备
CN106341288A (zh) * 2016-08-23 2017-01-18 成都科来软件有限公司 一种检验pf_ring抓包模块是否丢包的方法和系统
CN109408326B (zh) * 2018-09-30 2021-11-30 福建星瑞格软件有限公司 监控数据库安全审计产品处理sql讯息效率的方法及系统
CN111125066B (zh) * 2019-12-26 2023-09-26 杭州迪普科技股份有限公司 检测数据库审计设备功能的方法及装置
CN113676417B (zh) * 2021-10-25 2022-02-15 北京安华金和科技有限公司 一种流量控制方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075256A (zh) * 2007-06-08 2007-11-21 北京神舟航天软件技术有限公司 数据库实时审计分析系统及方法
CN101576844A (zh) * 2008-05-09 2009-11-11 北京世纪拓远软件科技发展有限公司 软件系统性能测试方法和系统
CN101853289A (zh) * 2010-05-26 2010-10-06 杭州华三通信技术有限公司 一种数据库审计方法和设备
CN102118230A (zh) * 2011-03-23 2011-07-06 华中科技大学 一种基于ttcn的网络协议性能测试方法
CN102521354A (zh) * 2011-12-13 2012-06-27 北京天融信科技有限公司 一种数据库协议审计测试方法及装置
CN102546216A (zh) * 2010-12-30 2012-07-04 中国移动通信集团山东有限公司 网络管理系统中的告警消息处理方法及网络管理系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266489B2 (en) * 2003-04-28 2007-09-04 International Business Machines Corporation Method, system and program product for determining a configuration of a digital design by reference to an invertible configuration database
US7793269B2 (en) * 2005-02-15 2010-09-07 Ebay Inc. Parallel software testing based on a normalized configuration
CN101516017B (zh) * 2008-02-22 2010-12-01 中国移动通信集团公司 一种会话类业务视频传输时延的测量方法、装置和系统
CN101674492B (zh) * 2008-09-09 2011-09-21 中兴通讯股份有限公司 一种流媒体服务器性能测试方法及装置
CN103927338A (zh) * 2014-03-26 2014-07-16 网神信息技术(北京)股份有限公司 日志信息入库处理方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075256A (zh) * 2007-06-08 2007-11-21 北京神舟航天软件技术有限公司 数据库实时审计分析系统及方法
CN101576844A (zh) * 2008-05-09 2009-11-11 北京世纪拓远软件科技发展有限公司 软件系统性能测试方法和系统
CN101853289A (zh) * 2010-05-26 2010-10-06 杭州华三通信技术有限公司 一种数据库审计方法和设备
CN102546216A (zh) * 2010-12-30 2012-07-04 中国移动通信集团山东有限公司 网络管理系统中的告警消息处理方法及网络管理系统
CN102118230A (zh) * 2011-03-23 2011-07-06 华中科技大学 一种基于ttcn的网络协议性能测试方法
CN102521354A (zh) * 2011-12-13 2012-06-27 北京天融信科技有限公司 一种数据库协议审计测试方法及装置

Also Published As

Publication number Publication date
CN104618192A (zh) 2015-05-13

Similar Documents

Publication Publication Date Title
CN104618192B (zh) 数据库审计设备的测试方法和装置
CN107302547B (zh) 一种web业务异常检测方法及装置
AU2018340854B2 (en) Process and apparatus for identifying and classifying video-data
EP2852097B1 (en) Efficient data center monitoring
US8135979B2 (en) Collecting network-level packets into a data structure in response to an abnormal condition
US10097464B1 (en) Sampling based on large flow detection for network visibility monitoring
US9049216B2 (en) Identifying related network traffic data for monitoring and analysis
US20110292818A1 (en) Smart traffic optimization
Kasick et al. Black-Box Problem Diagnosis in Parallel File Systems.
US9979624B1 (en) Large flow detection for network visibility monitoring
US10536360B1 (en) Counters for large flow detection
US9686173B1 (en) Unsupervised methodology to unveil content delivery network structures
CN102916854B (zh) 流量统计方法、装置及代理服务器
US11093349B2 (en) System and method for reactive log spooling
EP3282643B1 (en) Method and apparatus of estimating conversation in a distributed netflow environment
US10003515B1 (en) Network visibility monitoring
US20170126550A1 (en) Selecting a flow data source
JP6179354B2 (ja) 解析プログラム、解析方法、および解析装置
JP2019095822A (ja) パラメータ設定方法、データ分析装置、データ分析システム及びプログラム
CN109873734A (zh) 一种底层数据监控方法、介质、设备及装置
Miravalls-Sierra et al. Online detection of pathological TCP flows with retransmissions in high-speed networks
CN109120468B (zh) 获取端到端网络时延的方法、装置和存储介质
US7117118B2 (en) Efficient accumulation of performance statistics in a multi-port network
CN104486157A (zh) 一种基于深度包解析的信息系统性能检测方法
CN103457773A (zh) 一种终端客户体验管理的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 2nd Floor, Building 1, Yard 26, Xizhimenwai South Road, Xicheng District, Beijing, 100032

Patentee after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Address before: 100085 1st floor, Section II, No.7 Kaifa Road, Shangdi Information Industry base, Haidian District, Beijing

Patentee before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

CP03 Change of name, title or address