CN101616174A - 一种存储系统io处理路径动态跟踪实现优化系统性能的方法 - Google Patents

一种存储系统io处理路径动态跟踪实现优化系统性能的方法 Download PDF

Info

Publication number
CN101616174A
CN101616174A CN200910017116A CN200910017116A CN101616174A CN 101616174 A CN101616174 A CN 101616174A CN 200910017116 A CN200910017116 A CN 200910017116A CN 200910017116 A CN200910017116 A CN 200910017116A CN 101616174 A CN101616174 A CN 101616174A
Authority
CN
China
Prior art keywords
request
file
storage system
time
processing
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
CN200910017116A
Other languages
English (en)
Other versions
CN101616174B (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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Langchao Electronic Information Industry 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 Langchao Electronic Information Industry Co Ltd filed Critical Langchao Electronic Information Industry Co Ltd
Priority to CN2009100171165A priority Critical patent/CN101616174B/zh
Publication of CN101616174A publication Critical patent/CN101616174A/zh
Application granted granted Critical
Publication of CN101616174B publication Critical patent/CN101616174B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种存储系统IO处理路径动态跟踪实现优化系统性能的方法,应用服务器通过网络对存储系统发送读写请求,对于每次设备中的IO请求进行跟踪,在存储系统处理请求的过程中引入IO请求检查机制,为每个过程模块设置IO处理标识,计算每个处理结点的响应时间,通过公式计算整个IO请求的总处理时间并通过日志形式进行记录,通过日志中显示的处理IO请求的时间进行正确定位错误并进行改进;根据应用要求和存储系统具体运行环境和状态进行性能优化调整,通过改变各个用户和服务程序所分配的系统资源,充分发挥系统能力,用尽量少的资源满足用户要求,达到为更多用户服务的目的。

Description

一种存储系统IO处理路径动态跟踪实现优化系统性能的方法
技术领域
本发明涉及计算机存储系统IO路径跟踪领域,具体涉及一种适用于网络存储系统IO处理跟踪,通过对IO响应时间的分析确认系统瓶颈已达到优化系统性能的技术。
技术背景
随着网络应用的高速发展,存储系统往往同时处理大量的IO请求,无论是采用同步抑或异步的处理方式,由于受到硬件资源以及软件自身性能的限制,在系统处理IO请求的过程中会有很长一部分时间处于等待响应阶段,大量没有及时处理的IO请求就会导致系统处理阻塞,进而形成系统性能瓶颈。
对于存储系统的开发来说,性能测试是一个极其重要的测试阶段,通常存储系统的性能测试采用大量数据同时读写的方式,通过频繁的向系统执行读写操作来验证系统处理请求的能力,进而评判系统性能。而在性能测试阶段,由于频繁读写造成的系统瓶颈是非常常见的错误,为了尽快解决问题,及时定位系统瓶颈就显得尤为重要。
针对这一问题,本发明设计一种系统IO路径跟踪机制,从IO请求传递到系统开始就对其进行监控跟踪,通过计算每次处理时间来定位IO瓶颈问题,从而及时解决问题,提高系统性能。
发明内容
本发明的目的是提供一种存储系统IO处理路径动态跟踪以达到优化系统性能的方法。
本发明的目的是按以下方式实现的,存储系统性能的主要衡量因素有IO吞吐量以及系统处理IO的响应时间:IO的响应时间是指用户从输入信息到系统完成任务给出处理时间,IO的吞吐量是整个系统在单位时间内完成的任务量,应用服务器通过网络对存储系统发送读写请求,对于每次设备中的IO请求进行跟踪,在存储系统处理请求的过程中引入IO请求检查机制,为每个过程模块设置IO处理标识,计算每个处理结点的响应时间,通过公式计算整个IO请求的总处理时间并通过日志形式进行记录,通过日志中显示的处理IO请求的时间进行正确定位错误并进行改进;
本发明的有益效果是:缩短某一用户或服务的响应时间,分配给它更多的资源,根据应用要求和存储系统具体运行环境和状态进行性能优化调整,通过改变各个用户和服务程序所分配的系统资源,充分发挥系统能力,用尽量少的资源满足用户要求,达到为更多用户服务的目的。
附图说明
图1是闭合排队网络模型图;
图2是处理时间曲线图。
具体实施方式
参照附图对本发明的存储系统IO处理路径动态跟踪以达到优化系统性能的方法作进一步说明。优化系统性能步骤如下:
IO请求处理流程
1)在通常的存储系统来说,客户端的IO请求首先由网络接口卡(NIC)读入,然后从主机IO总线发送到相应的设备驱动程序。设备驱动程序再把它传送到存储系统,然后,由客户IO程序处理该请求。
2)针对这一处理IO请求的过程,建立一个闭合排队网络模型:客户端对存储系统的读写请求,通过网络传输到远端的存储系统,存储系统在在接收到数据包之后,解析出原数据以及命令,将请求通过设备驱动程序对存储设备完成具体的读写操作,最后将相应信息在反馈给客户端。
3)基于此设计一个闭合排队网络模型(如图1),可以将IO处理流程中的主要环节抽象为一个个服务节点,其中客户端和存储系统段可以抽象为CPU服务节点(C),网卡抽象为网卡服务节点(N)。CPU服务节点负责处理本地的应用程序和数据,网卡服务节点通过网卡向网络中发送或接收数据,网络传输节点(R)通过网络传输数据,磁盘IO节点负责对磁盘(D)进行读写操作。
4)在存储系统内部处理IO请求的流程:
a)a)IO请求进入系统环境队列等待处理:当IO请求到达存储系统时,它被放在系统环境的队列中。系统环境由存储系统内核和一些进程组成,这些进程为所有的系统功能提供资源调度,系统功能包括应用处理、通信及IO调度等。争用资源的进程数量和资源本身的性能决定着系统的总体性能,包括IO请求的服务。
b)IO请求的检验:当资源满足处理IO请求的需要时,文件系统将接管这个请求,并进行创建一个文件或者写入新的数据等一些列检验。
c)执行IO请求命令:一旦这些检验完毕,文件系统就决定将这个文件放在目标设备的哪个地方。在存储系统中,这个目标设备可以是实际物理设备或者是虚拟逻辑设备;但在文件系统看来,它们是一回事。虽然文件系统不直接与设备打交道,但它维护磁盘上所有数据的一个完整的映射,包括虚拟设备。文件系统利用这个映射发现自由空间以存储文件。然后,将应用对文件的源请求转化为磁盘块级的IO操作。当应用向文件存放新的数据时,文件系统将新数据转化为该文件中特定的一些块。
d)返回IO请求并创建IO信息:在IO请求离开文件系统之前,文件系统建立相应的元数据,用以描述该文件,它包括确定文件的访问权限、提供用于系统和存储管理的信息等。显示了对文件系统发出的文件请求,文件系统不仅将应用中的文件请求转变为块IO操作,也将位置信息和元数据加入这个请求中。
5)IO路径监控流程与设计
时间函数的设计:所谓的IO请求路径动态跟踪,主要是通过记录每个处理节点完成时间来体现,此函数处理流程如下:
a)客户端发起IO请求时,为IO请求添加跟踪标识;
b)输出每个节点起始和终止处理信号;
c)根据处理信号记录当前系统时间;
d)获取当前系统信息,包括CPU,内存,网卡等信息;
e)记录每个节点处理IO请求的时间、系统当前信息,并将此数据导出到一个文件。
f)通过
IO请求跟踪流程:通过对整个架构系统处理IO流程的分析,可以清楚了解每次IO请求的处理路径,由此可以定义跟踪流程如下:
a)在客户端运行时间函数,当客户端提出IO请求时,通过函数添加跟踪标识,获取处理时间Tc1;
b)客户端通过内部应用程序发送IO请求,通过客户端的网卡向外发送请求,请求发送完毕得到处理时间Tc2;
c)IO请求通过网络路由或者交换机进行转发,转发处理完成获取在交换机节点内部处理时间Tsw;
d)在存储端接收到客户端发送的IO请求时通过关联数组记录处理IO请求的处理时间Tsr1;
e)对原数据进行解析,得出原数据以及请求命令;
f)根据命令中的请求驱动标识查找请求的设备;
g)通过跟踪标识的数组记录查找设备处理时间Tsr2;
h)根据命令处理原数据;
i)通过跟踪标识的数组记录处理原数据处理时间Tsr3;
j)IO请求离开后,文件系统建立元数据,用以描述此文件权限等相关信息;
k)通过跟踪标识的关联数组记录元数据创建处理时间Tsr4;
l)通过时间函数得到一组处理时间,系统资源数据并导入到一个文件;
m)通过对记录的相关数据的分析生成处理时间曲线(如附图2示例)
n)根据曲线,可以清晰查看每次IO请求的处理情况,当IO请求在很长一段时间都没有结束,则可以认为此IO请求遇到阻塞,系统达到瓶颈,进而可以快速定位问题。

Claims (1)

1、一种存储系统IO处理路径动态跟踪实现优化系统性能的方法,其特征在于,应用服务器通过网络对存储系统发送读写请求,对于每次设备中的IO请求进行跟踪,在存储系统处理请求的过程中引入IO请求检查机制,为每个过程模块设置IO处理标识,计算每个处理结点的响应时间,通过公式计算整个IO请求的总处理时间并通过日志形式进行记录,通过日志中显示的处理IO请求的时间进行正确定位错误并进行改进;步骤如下:
(1)IO请求处理流程
1)对于通常的存储系统,客户端的IO请求首先由网络接口卡NIC读入,然后从主机IO总线发送到相应的设备驱动程序,设备驱动程序再把它传送到存储系统,然后,由客户IO程序处理该请求;
2)针对处理IO请求的过程,建立一个闭合排队网络模型:客户端对存储系统的读写请求,通过网络传输到远端的存储系统,存储系统在在接收到数据包之后,解析出原数据以及命令,将请求通过设备驱动程序对存储设备完成具体的读写操作,最后将相应信息在反馈给客户端;
3)基于此设计一个闭合排队网络模型,将IO处理流程中的主要环节抽象为一个个服务节点,其中客户端和存储系统段抽象为CPU服务节点C,网卡抽象为网卡服务节点N,CPU服务节点负责处理本地的应用程序和数据,网卡服务节点通过网卡向网络中发送或接收数据,网络传输节点R通过网络传输数据,磁盘IO节点负责对磁盘D进行读写操作;
4)在存储系统内部处理IO请求的流程;
(2)IO请求进入系统环境队列等待处理:
a)当IO请求到达存储系统时,它被放在系统环境的队列中,系统环境由存储系统内核和一些进程组成,这些进程为所有的系统功能提供资源调度,系统功能包括应用处理、通信及IO调度,争用资源的进程数量和资源本身的性能决定着系统的总体性能,包括IO请求的服务;
b)IO请求的检验:当资源满足处理IO请求的需要时,文件系统将接管这个请求,并进行创建一个文件或者写入新的数据等一些列检验;
c)执行IO请求命令:一旦这些检验完毕,文件系统就决定将这个文件放在目标设备的哪个地方,在存储系统中,这个目标设备是实际物理设备或者是虚拟逻辑设备;但在文件系统看来,它们是一回事,虽然文件系统不直接与设备打交道,但它维护磁盘上所有数据的一个完整的映射,包括虚拟设备,文件系统利用这个映射发现自由空间以存储文件,然后,将应用对文件的源请求转化为磁盘块级的IO操作,当应用向文件存放新的数据时,文件系统将新数据转化为该文件中特定的一些块;
d)返回IO请求并创建IO信息:在IO请求离开文件系统之前,文件系统建立相应的元数据,用以描述该文件,它包括确定文件的访问权限、提供用于系统和存储管理的信息等。显示了对文件系统发出的文件请求,文件系统不仅将应用中的文件请求转变为块IO操作,也将位置信息和元数据加入这个请求中。
(3)IO路径监控流程与设计
1)时间函数的设计:所谓的IO请求路径动态跟踪,主要是通过记录每个处理节点完成时间来体现,此函数处理流程如下:
a)客户端发起IO请求时,为IO请求添加跟踪标识;
b)输出每个节点起始和终止处理信号;
c)根据处理信号记录当前系统时间;
d)获取当前系统信息,包括CPU,内存,网卡等信息;
e)记录每个节点处理IO请求的时间、系统当前信息,并将此数据导出到一个文件;
f)通过;
2)IO请求跟踪流程:通过对整个架构系统处理IO流程的分析,清楚了解每次IO请求的处理路径,由此定义跟踪流程如下:
a)在客户端运行时间函数,当客户端提出IO请求时,通过函数添加跟踪标识,获取处理时间Tc1;
b)客户端通过内部应用程序发送IO请求,通过客户端的网卡向外发送请求,请求发送完毕得到处理时间Tc2;
c)IO请求通过网络路由或者交换机进行转发,转发处理完成获取在交换机节点内部处理时间Tsw;
d)在存储端接收到客户端发送的IO请求时通过关联数组记录处理IO请求的处理时间Tsr1;
e)对原数据进行解析,得出原数据以及请求命令;
f)根据命令中的请求驱动标识查找请求的设备;
g)通过跟踪标识的数组记录查找设备处理时间Tsr2;
h)根据命令处理原数据;
i)通过跟踪标识的数组记录处理原数据处理时间Tsr3;
j)IO请求离开后,文件系统建立元数据,用以描述此文件权限等相关信息;
k)通过跟踪标识的关联数组记录元数据创建处理时间Tsr4;
l)通过时间函数得到一组处理时间,系统资源数据并导入到一个文件;
m)通过对记录的相关数据的分析生成处理时间曲线;
n)根据曲线,清晰查看每次IO请求的处理情况,当IO请求在很长一段时间没有结束,则认为此IO请求遇到阻塞,系统达到瓶颈,进而快速定位问题。
CN2009100171165A 2009-07-09 2009-07-09 一种存储系统io处理路径动态跟踪实现优化系统性能的方法 Active CN101616174B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100171165A CN101616174B (zh) 2009-07-09 2009-07-09 一种存储系统io处理路径动态跟踪实现优化系统性能的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100171165A CN101616174B (zh) 2009-07-09 2009-07-09 一种存储系统io处理路径动态跟踪实现优化系统性能的方法

Publications (2)

Publication Number Publication Date
CN101616174A true CN101616174A (zh) 2009-12-30
CN101616174B CN101616174B (zh) 2012-07-11

Family

ID=41495574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100171165A Active CN101616174B (zh) 2009-07-09 2009-07-09 一种存储系统io处理路径动态跟踪实现优化系统性能的方法

Country Status (1)

Country Link
CN (1) CN101616174B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469025A (zh) * 2010-11-18 2012-05-23 株式会社日立制作所 多存储系统上的多路径交换
CN102945196A (zh) * 2012-10-29 2013-02-27 杭州华为数字技术有限公司 服务器io诊断的方法及装置
CN102999602A (zh) * 2012-11-20 2013-03-27 北京思特奇信息技术股份有限公司 一种数据解析方法和数据解析系统
CN103024000A (zh) * 2012-11-30 2013-04-03 华为技术有限公司 路径跟踪的方法、设备和系统
CN103034960A (zh) * 2012-11-23 2013-04-10 山东电力集团公司 一种对配电自动化系统数据的追踪方法
CN103761051A (zh) * 2013-12-17 2014-04-30 北京同有飞骥科技股份有限公司 一种基于持续数据多输入输出流并发写入性能优化方法
WO2014166392A1 (en) * 2013-04-09 2014-10-16 International Business Machines Corporation Self-detecting storage bottleneck while handling sequential i/o operations
CN106446289A (zh) * 2016-11-11 2017-02-22 无锡雅座在线科技发展有限公司 基于Pinpoint的信息查询方法和装置
CN106961358A (zh) * 2017-05-11 2017-07-18 国网山东省电力公司信息通信公司 基于日志的Web应用系统集群运行状态监测方法及其系统
CN108874613A (zh) * 2017-05-10 2018-11-23 鸿秦(北京)科技有限公司 一种性能瓶颈定位量化方法、装置及嵌入式io系统
CN109074330A (zh) * 2016-08-03 2018-12-21 华为技术有限公司 网络接口卡、计算设备以及数据包处理方法
CN109408270A (zh) * 2018-10-18 2019-03-01 郑州云海信息技术有限公司 一种读写操作的处理方法及装置
CN110728584A (zh) * 2019-10-23 2020-01-24 泰康保险集团股份有限公司 信息处理方法及装置、可读存储介质和电子设备
CN110827171A (zh) * 2019-11-01 2020-02-21 南方电网科学研究院有限责任公司 基于电力大数据的调度依赖计算方法
CN111124310A (zh) * 2019-12-22 2020-05-08 苏州浪潮智能科技有限公司 存储系统调度优化方法及相关组件
CN114936124A (zh) * 2022-04-29 2022-08-23 苏州浪潮智能科技有限公司 一种基于磁盘的io耗时监控方法、系统、存储介质及设备
WO2023115532A1 (zh) * 2021-12-24 2023-06-29 华为技术有限公司 数据处理方法及数据处理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100367727C (zh) * 2005-07-26 2008-02-06 华中科技大学 一种可扩展的基于对象的存储系统及其控制方法
CN100530107C (zh) * 2007-03-02 2009-08-19 中国科学院声学研究所 基于io事件通知机制的单进程内容服务器装置及方法

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469025B (zh) * 2010-11-18 2015-06-10 株式会社日立制作所 多存储系统上的多路径交换
CN102469025A (zh) * 2010-11-18 2012-05-23 株式会社日立制作所 多存储系统上的多路径交换
CN102945196A (zh) * 2012-10-29 2013-02-27 杭州华为数字技术有限公司 服务器io诊断的方法及装置
CN102999602A (zh) * 2012-11-20 2013-03-27 北京思特奇信息技术股份有限公司 一种数据解析方法和数据解析系统
CN103034960A (zh) * 2012-11-23 2013-04-10 山东电力集团公司 一种对配电自动化系统数据的追踪方法
CN103024000A (zh) * 2012-11-30 2013-04-03 华为技术有限公司 路径跟踪的方法、设备和系统
CN103024000B (zh) * 2012-11-30 2016-09-14 华为技术有限公司 路径跟踪的方法、设备和系统
US9645740B2 (en) 2013-04-09 2017-05-09 International Business Machines Corporation Self-detecting storage bottleneck while handling sequential I/O operations
WO2014166392A1 (en) * 2013-04-09 2014-10-16 International Business Machines Corporation Self-detecting storage bottleneck while handling sequential i/o operations
US9063669B2 (en) 2013-04-09 2015-06-23 International Business Machines Corporation Self-detecting storage bottleneck while handling sequential I/O operations
CN103761051B (zh) * 2013-12-17 2016-05-18 北京同有飞骥科技股份有限公司 一种基于持续数据多输入输出流并发写入性能优化方法
CN103761051A (zh) * 2013-12-17 2014-04-30 北京同有飞骥科技股份有限公司 一种基于持续数据多输入输出流并发写入性能优化方法
CN109074330B (zh) * 2016-08-03 2020-12-08 华为技术有限公司 网络接口卡、计算设备以及数据包处理方法
CN109074330A (zh) * 2016-08-03 2018-12-21 华为技术有限公司 网络接口卡、计算设备以及数据包处理方法
CN106446289A (zh) * 2016-11-11 2017-02-22 无锡雅座在线科技发展有限公司 基于Pinpoint的信息查询方法和装置
CN106446289B (zh) * 2016-11-11 2019-10-01 无锡雅座在线科技股份有限公司 基于Pinpoint的信息查询方法和装置
CN108874613A (zh) * 2017-05-10 2018-11-23 鸿秦(北京)科技有限公司 一种性能瓶颈定位量化方法、装置及嵌入式io系统
CN106961358A (zh) * 2017-05-11 2017-07-18 国网山东省电力公司信息通信公司 基于日志的Web应用系统集群运行状态监测方法及其系统
CN109408270A (zh) * 2018-10-18 2019-03-01 郑州云海信息技术有限公司 一种读写操作的处理方法及装置
CN109408270B (zh) * 2018-10-18 2021-12-03 郑州云海信息技术有限公司 一种读写操作的处理方法及装置
CN110728584A (zh) * 2019-10-23 2020-01-24 泰康保险集团股份有限公司 信息处理方法及装置、可读存储介质和电子设备
CN110827171A (zh) * 2019-11-01 2020-02-21 南方电网科学研究院有限责任公司 基于电力大数据的调度依赖计算方法
CN111124310A (zh) * 2019-12-22 2020-05-08 苏州浪潮智能科技有限公司 存储系统调度优化方法及相关组件
CN111124310B (zh) * 2019-12-22 2023-01-10 苏州浪潮智能科技有限公司 存储系统调度优化方法及相关组件
WO2023115532A1 (zh) * 2021-12-24 2023-06-29 华为技术有限公司 数据处理方法及数据处理装置
CN114936124A (zh) * 2022-04-29 2022-08-23 苏州浪潮智能科技有限公司 一种基于磁盘的io耗时监控方法、系统、存储介质及设备
CN114936124B (zh) * 2022-04-29 2024-10-18 苏州浪潮智能科技有限公司 一种基于磁盘的io耗时监控方法、系统、存储介质及设备

Also Published As

Publication number Publication date
CN101616174B (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
CN101616174B (zh) 一种存储系统io处理路径动态跟踪实现优化系统性能的方法
US5960181A (en) Computer performance modeling system and method
CN107924337B (zh) 分布式存储系统中的性能监测
US8402119B2 (en) Real-load tuning of database applications
CN104541244A (zh) 用于进行重放执行的方法和系统
KR101719500B1 (ko) 캐싱된 플로우들에 기초한 가속
CN101090295A (zh) 一种ason网络的测试系统及方法
Kelley et al. Obtaining and managing answer quality for online data-intensive services
US5812824A (en) Method and system for preventing device access collision in a distributed simulation executing in one or more computers including concurrent simulated one or more devices controlled by concurrent one or more tests
CN103020003A (zh) 面向多核程序确定性重演的内存竞争记录装置及其控制方法
CN107783728A (zh) 数据存储方法、装置和设备
CN112540954B (zh) 以目录单位的多级存储构建与在线迁移方法
CN101453416A (zh) 用于远程程序安装的包预取的服务节点、网络及其方法
CN104850548B (zh) 一种实现大数据平台输入/输出处理的方法及系统
KR20160145250A (ko) 가상 머지를 지원하는 셔플 내장형 분산 스토리지 시스템 및 그 방법
Arpaci-Dusseau Performance availability for networks of workstations
Xie et al. On the performance projectability of MapReduce
CN1875350A (zh) 包括用于测量连接其构件块的通信总线的利用率的测量单元的集成电路
Andreozzi et al. A MILP approach to DRAM access worst-case analysis
Carata Provenance-based computing
Haghdoost et al. hfplayer: Scalable replay for intensive block I/O workloads
CN110609768A (zh) 一种双路CPU间xGMI2带宽测量方法及装置
Obaidat Performance evaluation of the IMPS multiprocessor system
CN118277177B (zh) 一种PCIe交换芯片兼容性测试方法、装置及相关设备
CN107562580A (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