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