CN101090345A - 网络存储***的性能测试方法 - Google Patents

网络存储***的性能测试方法 Download PDF

Info

Publication number
CN101090345A
CN101090345A CN 200710072543 CN200710072543A CN101090345A CN 101090345 A CN101090345 A CN 101090345A CN 200710072543 CN200710072543 CN 200710072543 CN 200710072543 A CN200710072543 A CN 200710072543A CN 101090345 A CN101090345 A CN 101090345A
Authority
CN
China
Prior art keywords
descriptor
request
overtime
readable
filec
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.)
Granted
Application number
CN 200710072543
Other languages
English (en)
Other versions
CN100542108C (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.)
Harbin Engineering University
Original Assignee
Harbin Engineering University
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 Harbin Engineering University filed Critical Harbin Engineering University
Priority to CNB2007100725434A priority Critical patent/CN100542108C/zh
Publication of CN101090345A publication Critical patent/CN101090345A/zh
Application granted granted Critical
Publication of CN100542108C publication Critical patent/CN100542108C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种网络存储***的性能测试方法。它的实现方法是:首先打开映射到本地磁盘的服务器上的文件,该操作会返回一个文件描述符;然后将该文件描述符连接传递给连接池;随后对该连接池进行循环监听,如果有文件描述符可读,则读取数据,如果不可读并且连接超时,则关闭文件描述符;在循环过程中要判断发起IO请求的时间间隔是否超时,如果超时,则执行打开文件操作,并将打开的文件描述符传递给连接池。本发明方法与传统的存储性能测试方法相比校,它能够以极低的代价生成使网络存储***超载的负载,模拟更真实的负载情况,更准确的反映网络存储***的性能特性。

Description

网络存储***的性能测试方法
(一)技术领域
本发明涉及网络存储领域,具体涉及网络存储技术中的存储区域网络(Storage AreaNetwork-SAN)领域。
(二)背景技术
网络技术的发展和企业信息量的增加,使数据访问和存储呈现***式的增长。需要精确的对网络存储***进行性能评价。网络存储***可以使用户透明的使用远程网络上的存储设备,即其使用方式与使用本地磁盘一致,所以传统的磁盘性能测试工具如IOMeter,IOZone等依然可用,但由于他们没有考虑到网络传输对IO性能的影响,所以其测试结果不够精确。例如:IOMeter很难产生超过服务器所能承受的最大负载,这是由于在网络协议实现中的重传机制和活锁的抑制,从而不能正确的量化存储***在过载情况下的性能,其它存储测试工具IOZone等也存在类似的问题。
(三)发明内容
本发明的目的在于提供一种按照固定速率向被测***发出IO请求,能以较低成本产生超过存储***最大负载的请求,从而给出网络存储***在超负载情况下的性能描述的网络存储***的性能测试方法。
本发明的目的是这样实现的:
1.1、发起端按照预定速率对所测的网络存储***发出IO请求,即按预定速率打开映射到本地磁盘的服务器上的文件,返回文件描述符;
1.2、将该文件描述符连接传给连接池;
1.3、循环监听连接池中的文件描述符是否可读;
1.4、如果可读,则读取数据,然后关闭该文件描述符并在连接池中清除它;
1.5、如果不可读,则判断文件描述符的请求连接是否超时,如果超时,则关闭文件描述符并在连接池中清除它;
1.6、判断发起IO请求的时间间隔是否超时,如果超时,则执行打开文件操作,并将打开的文件描述符传递给连接池。
写操作的过程同读操作。
本发明还有这样一些技术特征:
1、所述的循环监听以前应先设置循环次数、文件描述符请求连接时间和发起IO请求的时间间隔,然后进入主循环,执行下面的步骤:
1.1、调用设置程序将连接池内文件描述符加入到监听队列;
1.2、调用选择程序选择判断监听队列是否有准备好的文件描述符;
1.3、如果选择程序返回错误,程序结束;
1.4、如果有文件描述符准备好,则循环执行下面步骤;
1.5、如果发起IO请求的时间间隔超时,则执行打开文件操作,将打开的文件描述符加入到监听队列;
1.6、选取监听队列中的一个文件描述符,判断该文件描述符是否可读;
1.7、如果可读,则读取数据,关闭该文件描述符,并且从监听队列中清除该文件描述符;
1.8、如果不可读,则判断该文件描述符连接请求是否超时;
1.9、如果超时,则关闭该文件描述符,从监听队列中清除该文件描述符;
1.10、如果还有未扫描的文件描述符,转到步骤1.5,执行下一个循环;
1.11、如果主循环结束,则结束程序,否则转向步骤1.2。
本发明的关键在于发起端按照一定速率对所测的网络存储***发出IO请求,能够以较低成本或较少的客户端测试网络存储***超载时的性能特性。而使用其他测试工具要达到这个目的,需要大量并行负载产生器,代价昂贵或不可行。与传统测量工具相比较,本发明能更真实的模拟实际负载情况,从而能更有效的对存储***性能进行测量和改进,更准确的反映网络存储***的性能特性。
本发明中存储***过载访问请求的生成方法克服了传统测试工具不能有效模拟存储***过载请求的缺点;该方法能够以一定速率、不受服务器端限制、循环向服务器端发起请求,直到请求量超过服务器的处理能力。
传统的测试工具生成负载的方法主要是使用多个并发的线程向服务器发起读写请求,每个线程完成的任务依次为:发起请求、建立连接、读取数据、关闭连接。所有步骤都是顺序执行,这些步骤完成后会立刻发起另外一个请求。在存储***的target端有一个接收请求的队列,该队列的长度取决于initiator发起请求的速度以及请求的往返时间。如果initiator端发起请求的速度超过存储***对接收队列里请求的处理速度,队列滞留的请求会越来越多,直到队列再也不能存储新接收的任何请求,这个时候target端会丢掉最新接受的所有请求,而不对initiator端返回任何确认信息。根据TCP的重传机制的自适应算法,initiator端请求的重传时间会不断增加,发起进程则会陷入一个循环,等待时间越来越长,会以越来越低的速度重传请求信息。基于这一点,传统测试工具请求生成方法只能使负载接近于服务器最大负载,但很难超过它。
本发明克服了这一缺陷,使服务器端在接近队列满的情况下,其抑制作用对发起端不再起作用。本发明将initiator请求生成模块进行了改进,关键点是以一定速度连续发起请求,发起请求后,将连接传递给连接池;随后通过循环对后续信息进行处理,通过select和FD_ISSET调用来监听连接确认信息,并对服务器返回的确认的信息进行处理以及从准备好的文件描述符中读取数据。
使用IOMeter和新方法分别向被存储***发起请求,对比测试结果可以看出,本发明测量的请求曲线符合实际的访问情况,随着请求的速度的增加,曲线是上升的,在达到服务器最大负载后迅速下降。而IOMeter的测试结果曲线随着队列深度的增加,曲线在上升一段时间后就维持在一个水平范围内,不符合实际访问情况。
(四)附图说明
图1是过载请求生成方法的流程图;
图2是本发明实验平台的示意图。
(五)具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明:
以iSCSI为例:新方法实验平台配置如下:结合图2,一台PC机安装initiator部分作为存储***的客户端,也就是发起端;另外一端安装target部分作为存储***的服务器端,也就是目标端;两台机器均使用千兆网卡,中间使用千兆交换机相连。在发起端运行我们的新方法模拟过载的请求,并得出过载情况下服务器性能参数。
解决上面超量负载产生困难的方法的关键是让发起端摆脱TCP重传机制的抑制。本发明方法发起请求的部分以一定时间间隔不断向服务器发起请求,而不管是否会接收到TCP三次握手的确认信息。时间间隔以CPU的时间戳来度量,可以使时间的精度很高。当循环读文件的时间间隔足够小时请求量可以达到服务器能承受的最大负载。具体实现过程如下,结合图1:
①调用open()函数指定要打开的文件,返回文件描述符;
②调用FD_SET将文件描述符加入到监听队列;
③设置循环次数、文件描述符请求连接时间和发起IO请求的时间间隔,循环执行下面的步骤,称其为主循环;
④调用select()监听是否有准备好的文件描述符?
⑤如果select()返回错误,程序结束;
⑥如果有文件描述符准备好,则循环执行下面步骤,将监听队列内所有文件描述符扫描一遍;
⑦如果发起IO请求的时间间隔超时,则执行打开文件操作,将打开的文件描述符加入到监听队列;
⑧调用FD_ISSET判断文件描述符是否可读?
⑨如果可读,则读取数据,关闭该文件描述符,并且从监听队列中清除该文件描述符;
⑩如果不可读,则判断该文件描述符连接是否超时?
如果超时,则关闭该文件描述符,并且从监听队列中清除该文件描述符;
如果还有未扫描的文件描述符,转到⑦,执行下一个循环;
如果主循环结束,则结束程序,否则转向④。
如上面描述的那样,新方法将发起请求的部分独立出来,以一定速率发起请求,不再受服务器端抑制,这是区别于传统负载产生方法的关键点。如果发起IO请求的时间间隔合适,能使服务器负载迅速达到饱和,如果发起端继续发起请求,***会陷入活锁状态,则用来处理接收队列的资源会越来越少,这种情况下,发起端发起的请求都被服务器端丢掉,发起端可读的请求也会迅速下降。

Claims (2)

1、一种网络存储***的性能测试方法,其特征在于发起端按照预定速率对所测的网络存储***发出IO请求,具体包括以下几个部分:
1.1发起端按预定速率打开映射到本地磁盘的服务器上的文件,返回文件描述符;
1.2将该文件描述符连接传给连接池;
1.3循环监听连接池中的文件描述符是否可读;
1.4如果可读,则读取数据;
1.5如果不可读,则判断文件描述符的请求连接是否超时,如果超时,则关闭文件描述符并在连接池中去掉它;
1.6判断发起IO请求的时间间隔是否超时,如果超时,则执行打开文件操作,并将打开的文件描述符传递给连接池;
写操作的过程同读操作。
2、根据权利要求1所述的网络存储***的性能测试方法,其特征在于所述的在循环监听以前应先设置循环次数、文件描述符请求连接时间和发起IO请求的时间间隔,然后进入主循环,执行下面的步骤:
2.1调用设置程序将连接池内文件描述符加入到监听队列;
2.2调用选择程序选择判断监听队列是否有准备好的文件描述符;
2.3如果选择程序返回错误,程序结束;
2.4如果有文件描述符准备好,则循环执行下面步骤;
2.5如果发起IO请求的时间间隔超时,则执行打开文件操作,将打开的文件描述符加入到监听队列;
2.6按顺序选取连接池内的一个文件描述符,判断它是否可读;
2.7如果可读,则读取数据,关闭该文件描述符,并且从监听队列中清除该文件描述符;
2.8如果不可读,则判断该文件描述符连接请求是否超时;
2.9如果超时,则关闭该文件描述符,从监听队列中清除该文件描述符;
2.10如果还有未扫描的文件描述符,转到步骤2.5,执行下一个循环;
2.11如果主循环结束,则结束程序,否则转向步骤2.2。
CNB2007100725434A 2007-07-20 2007-07-20 网络存储***的性能测试方法 Expired - Fee Related CN100542108C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100725434A CN100542108C (zh) 2007-07-20 2007-07-20 网络存储***的性能测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100725434A CN100542108C (zh) 2007-07-20 2007-07-20 网络存储***的性能测试方法

Publications (2)

Publication Number Publication Date
CN101090345A true CN101090345A (zh) 2007-12-19
CN100542108C CN100542108C (zh) 2009-09-16

Family

ID=38943522

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100725434A Expired - Fee Related CN100542108C (zh) 2007-07-20 2007-07-20 网络存储***的性能测试方法

Country Status (1)

Country Link
CN (1) CN100542108C (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185741A (zh) * 2011-06-10 2011-09-14 浙江大学 多层架构下估算事务的处理器需求的方法
CN102184746A (zh) * 2010-12-31 2011-09-14 中国传媒大学 一种基于粒子群算法优化参数的存储性能测试***及方法
CN104462148A (zh) * 2013-09-24 2015-03-25 浙江大华技术股份有限公司 一种数据存储管理方法及装置
CN105337786A (zh) * 2014-07-23 2016-02-17 华为技术有限公司 一种服务器性能检测方法、装置及设备
CN105515898A (zh) * 2015-12-03 2016-04-20 浪潮(北京)电子信息产业有限公司 一种针对网络存储***性能的测试方法及***
CN106055441A (zh) * 2016-05-31 2016-10-26 深圳市国鑫恒宇科技有限公司 一种linux***下服务器的网口性能测试方法及***
CN107977296A (zh) * 2017-11-20 2018-05-01 郑州云海信息技术有限公司 一种nas存储***性能测试的方法、装置和介质
CN111427507A (zh) * 2019-01-09 2020-07-17 深圳市茁壮网络股份有限公司 一种磁盘连接方法、装置及电子设备

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184746A (zh) * 2010-12-31 2011-09-14 中国传媒大学 一种基于粒子群算法优化参数的存储性能测试***及方法
CN102185741A (zh) * 2011-06-10 2011-09-14 浙江大学 多层架构下估算事务的处理器需求的方法
CN102185741B (zh) * 2011-06-10 2013-06-26 浙江大学 多层架构下估算事务的处理器需求的方法
CN104462148A (zh) * 2013-09-24 2015-03-25 浙江大华技术股份有限公司 一种数据存储管理方法及装置
CN104462148B (zh) * 2013-09-24 2018-02-16 浙江大华技术股份有限公司 一种数据存储管理方法及装置
CN105337786A (zh) * 2014-07-23 2016-02-17 华为技术有限公司 一种服务器性能检测方法、装置及设备
CN105515898A (zh) * 2015-12-03 2016-04-20 浪潮(北京)电子信息产业有限公司 一种针对网络存储***性能的测试方法及***
CN106055441A (zh) * 2016-05-31 2016-10-26 深圳市国鑫恒宇科技有限公司 一种linux***下服务器的网口性能测试方法及***
CN106055441B (zh) * 2016-05-31 2019-06-14 深圳市同泰怡信息技术有限公司 一种linux***下服务器的网口性能测试方法及***
CN107977296A (zh) * 2017-11-20 2018-05-01 郑州云海信息技术有限公司 一种nas存储***性能测试的方法、装置和介质
CN111427507A (zh) * 2019-01-09 2020-07-17 深圳市茁壮网络股份有限公司 一种磁盘连接方法、装置及电子设备
CN111427507B (zh) * 2019-01-09 2023-09-12 深圳市茁壮网络股份有限公司 一种磁盘连接方法、装置及电子设备

Also Published As

Publication number Publication date
CN100542108C (zh) 2009-09-16

Similar Documents

Publication Publication Date Title
CN100542108C (zh) 网络存储***的性能测试方法
CN102035697B (zh) 一种文件***的并发连接数性能测试***和方法
CN100456191C (zh) 一种卫星自动化测试平台及测试方法
US20220129288A1 (en) Method and apparatus for determining the capacity of an application cluster
EP3216027B1 (en) Test of semiconductor storage power consumption on basis of executed access commands
CN105760286A (zh) 应用数据库动态性能检测方法及检测装置
CN105451260B (zh) 网络请求方法、网络波动性衡量方法及装置
CN102928772B (zh) 时序测试***及其测试方法
US9594617B2 (en) Method and apparatus for positioning crash
CN109668741B (zh) 纯电动汽车的驻车执行机构检测装置、***和方法
CN109408370A (zh) 接口测试文件生成方法、装置、计算机设备和存储介质
CN110908920A (zh) 一种接口功能测试方法、装置及相关组件
CN107665160A (zh) 一种硬盘单体线性和旋转振动的测试治具及测试方法
CN110297767A (zh) 测试用例自动执行方法、装置、设备及存储介质
CN109815102A (zh) 一种测试数据统计方法、装置和存储介质
CN116682479A (zh) 一种企业级固态硬盘时延指标的测试方法及测试***
CN105487960A (zh) 一种基于物理实测的移动端app加载能耗自动测量方法
CN116974874A (zh) 数据库的测试方法、装置、电子设备及可读存储介质
CN105515898A (zh) 一种针对网络存储***性能的测试方法及***
CN116244133A (zh) 硬盘测试管理方法、***、终端及存储介质
CN103902421A (zh) 一种企业eda设计平台运行环境基础性能测试方法
FR2994485A1 (fr) Procede de test d'un equipement, outil de test et systeme de test associes
CN109902334A (zh) 机器人用精密减速器寿命预测方法及装置、计算机设备
CN115132267A (zh) 数据获取方法、信号发送方法及装置、设备和介质
CN114281615B (zh) 一种存储数据一致性自动化测试***及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20071219

Assignee: Dandong Transformer Co., Ltd.

Assignor: Harbin Engineering Univ.

Contract record no.: 2010210000034

Denomination of invention: Performance test method for network storage system

Granted publication date: 20090916

License type: Exclusive License

Record date: 20100322

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090916

Termination date: 20120720