发明名称 一种存储系统IO处理路径动态跟踪实现优化系统性能的方法
摘要 本发明提供一种存储系统IO处理路径动态跟踪实现优化系统性能的方法,应用服务器通过网络对存储系统发送读写请求,对于每次设备中的IO请求进行跟踪,在存储系统处理请求的过程中引入IO请求检查机制,为每个过程模块设置IO处理标识,计算每个处理结点的响应时间,通过公式计算整个IO请求的总处理时间并通过日志形式进行记录,通过日志中显示的处理IO请求的时间进行正确定位错误并进行改进;根据应用要求和存储系统具体运行环境和状态进行性能优化调整,通过改变各个用户和服务程序所分配的系统资源,充分发挥系统能力,用尽量少的资源满足用户要求,达到为更多用户服务的目的。
申请公布号 CN101616174A 申请公布日期 2009.12.30
申请号 CN200910017116.5 申请日期 2009.07.09
申请人 浪潮电子信息产业股份有限公司 发明人 温砚书
分类号 H04L29/08(2006.01)I;G06F13/14(2006.01)I;H04L12/24(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 代理人
主权项 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请求遇到阻塞,系统达到瓶颈,进而快速定位问题。
地址 250014山东省济南市历下区山大路224号