服务器IO诊断的方法及装置转让专利

申请号 : CN201210422249.2

文献号 : CN102945196B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 钱天进晏臣

申请人 : 杭州华为数字技术有限公司

摘要 :

本发明公开了一种服务器IO诊断的方法及装置,涉及服务器技术领域,实现了对每个bio处理过程的跟踪,能够根据比较结果直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了IO诊断的效率。本发明的具体实施例包括:通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。本发明主要应用于服务器IO诊断流程中。

权利要求 :

1.一种服务器IO诊断的方法,其特征在于,包括:

获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段,所述调度时间段是bio从IO调度层到主驱动这一流程的时间,所述存储设备处理时间段是bio在整个所述主驱动中的处理时间,所述回调时间段是bio从所述主驱动到所述IO调度层的流程的时间;

根据所述若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差;

将调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的IO路径。

2.根据权利要求1所述的服务器IO诊断的方法,其特征在于,所述获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段,具体包括:获取IO调度层接收到每个bio的时间,并将所述IO调度层接收到每个bio的时间分别作为每个bio各自对应的第一时间值;

获取主驱动开始处理每个bio的时间,并将所述主驱动开始处理每个bio的时间分别作为每个bio各自对应的第二时间值;

获取主驱动处理完每个bio的时间,并将所述主驱动处理完每个bio的时间分别作为每个bio各自对应的第三时间值;

获取IO调度层发送每个bio的时间,并将所述IO调度层发送每个bio的时间分别作为每个bio各自对应的第四时间值;

将每个bio各自对应的第一时间值与所述第二时间值分别作相减运算,得到每个bio各自对应的调度时间段;

将每个bio各自对应的第二时间值与所述第三时间值分别作相减运算,得到每个bio各自对应的存储设备处理时间段;

将每个bio各自对应的第三时间值与所述第四时间值分别作相减运算,得到每个bio各自对应的回调时间段。

3.根据权利要求1所述的服务器IO诊断的方法,其特征在于,所述将调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的IO路径,具体包括:比较所述调度时间段方差、存储设备处理时间段方差和回调时间段方差的大小,根据比较结果确定最大方差值;

确定所述最大方差值对应的时间段,并确定所述最大方差值对应的时间段对应的路径为出现问题的IO路径。

4.一种服务器IO诊断的装置,其特征在于,包括:

获取单元,用于获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段,所述调度时间段是bio从IO调度层到主驱动这一流程的时间,所述存储设备处理时间段是bio在整个所述主驱动中的处理时间,所述回调时间段是bio从所述主驱动到所述IO调度层的流程的时间;

计算单元,用于根据所述获取单元获取的若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差;

比较单元,用于将所述计算单元得到的调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的IO路径。

5.根据权利要求4所述的装置,其特征在于,所述获取单元包括:

获取模块,用于获取IO调度层接收到每个bio的时间,并将所述IO调度层接收到每个bio的时间分别作为每个bio各自对应的第一时间值;用于获取主驱动开始处理每个bio的时间,并将所述主驱动开始处理每个bio的时间分别作为每个bio各自对应的第二时间值;用于获取主驱动处理完每个bio的时间,并将所述主驱动处理完每个bio的时间分别作为每个bio各自对应的第三时间值;获取IO调度层发送每个bio的时间,并将所述IO调度层发送每个bio的时间分别作为每个bio各自对应的第四时间值;

运算模块,用于将所述获取模块获取到的每个bio各自对应的第一时间值与所述第二时间值分别作相减运算,得到每个bio各自对应的所述调度时间段;用于将每个bio各自对应的第二时间值与所述第三时间值分别作相减运算,得到每个bio各自对应的存储设备处理时间段;还用于将每个bio各自对应的第三时间值与所述第四时间值分别作相减运算,得到每个bio各自对应的回调时间段。

6.根据权利要求4所述的服务器IO诊断的装置,其特征在于,所述比较单元包括:比较模块,用于比较所述调度时间段方差、存储设备处理时间段方差和回调时间段方差的大小;

确定模块,用于根据所述比较模块得到的比较结果确定最大方差值;确定所述最大方差值对应的时间段,并确定所述最大方差值对应的时间段对应的路径为出现问题的IO路径。

说明书 :

服务器IO诊断的方法及装置

技术领域

[0001] 本发明涉及服务器技术领域,尤其涉及一种服务器IO(英文全称为:Input/Output中文全称为:输入/输出)诊断的方法及装置。

背景技术

[0002] 服务器系统中的IO子系统包括:在服务器设备中和IO有关的硬件和软件、以及与服务器设备连接的磁盘阵列等存储设备。当服务器IO性能存在问题时,现有技术提供的技术方案需要对可能影响服务器IO性能的CPU、内存、业务应用以及与服务器连接的存储设备和存储组网等因素进行分析,并逐个验证和排除每个因素的影响直至定位出现问题的IO路径。由于逐个验证和排除每个因素需花费大量的时间,因此降低了IO诊断效率。

发明内容

[0003] 本发明的实施例提供一种服务器IO诊断的方法及装置,实现了对每个bio(英文全称为:block input output,中文全称为:块的输入输出)处理过程的跟踪,能够根据bio处理过程中各时间段对应的方差直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了IO诊断的效率。
[0004] 为达到上述目的,本发明的实施例采用如下技术方案:
[0005] 一种服务器IO诊断的方法,包括:
[0006] 获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段;
[0007] 根据所述若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差;
[0008] 将调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的IO路径。
[0009] 一种服务器IO诊断的装置,包括:
[0010] 获取单元,用于获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段;
[0011] 计算单元,用于根据所述获取单元获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差;
[0012] 比较单元,用于将所述计算单元得到的调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的IO路径。
[0013] 本发明实施例提供的服务器IO诊断的方法及装置,通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并根据得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的IO路径。这样就要花费大量的时间,因此降低了IO诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据bio处理过程中各时间段对应的方差直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了IO诊断的效率。

附图说明

[0014] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0015] 图1为本发明实施例1中的一种服务器IO诊断方法的流程图;
[0016] 图2为本发明实施例2中的一种服务器IO诊断方法的流程图;
[0017] 图3为本发明实施例3中的一种服务器IO诊断方法的流程图;
[0018] 图4为本发明实施例4中的一种服务器IO诊断装置的组成框图;
[0019] 图5为本发明实施例4中的另一种服务器IO诊断装置的组成框图;
[0020] 图6为本发明实施例5中的一种服务器IO诊断装置的组成框图。

具体实施方式

[0021] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022] 实施例1
[0023] 本发明实施例提供了一种服务器IO诊断的方法,如图1所示,该方法包括:
[0024] 101、获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段。
[0025] 值得说明的是,调度时间段是bio从IO调度层到主驱动这一流程的时间,存储设备处理时间段是bio在整个主驱动中的处理时间,回调时间段是bio从主驱动到IO调度层的流程的时间。
[0026] 102、根据所述若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差。
[0027] 103、将调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的IO路径。
[0028] 其中,对时间段的方差进行比较,即比较其数值的大小,根据比较结果确定最大方差值对应的时间段所对应的IO路径为出现问题的IO路径。
[0029] 本发明实施例提供的服务器IO诊断的方法,通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的IO路径。这样就要花费大量的时间,因此降低了IO诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据bio处理过程中各时间段对应的方差直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了IO诊断的效率。
[0030] 实施例2
[0031] 本发明实施例提供的服务器IO诊断的方法,如图2所示,该方法包括:
[0032] 201、获取IO调度层接收到每个bio的时间,并将所述IO调度层接收到每个bio的时间分别作为每个bio各自对应的第一时间值。
[0033] 其中,bio由通用块层下发给IO调度层是由“submit_bio”函数中规定的相关指令来实现的,值得说明的是,本发明实施例在该函数中增设打印功能,分别打印IO调度层接收到每个bio的系统时间,以该时间作为第一时间值。
[0034] 202、获取主驱动开始处理每个bio的时间,并将所述主驱动开始处理每个bio的时间分别作为每个bio各自对应的第二时间值。
[0035] 值得说明的是,在本步骤中,通过“scsi_dispatch_cmd”函数中规定的相关指令将bio转化为scsi command,并将scsi command下发给主驱动。值得说明的是,本发明实施例在该函数中增设打印功能,分别打印将scsi command下发给主驱动的系统时间,并将此作为每个bio各自对应的第二时间值。
[0036] 203、获取主驱动处理完每个bio的时间,并将所述主驱动处理完每个bio的时间分别作为每个bio各自对应的第三时间值。
[0037] 值得说明的是,在本步骤中,主驱动完成bio操作后,执行“scsi_io_completion”函数的相关指令。本发明在该函数中增设打印功能,分别打印执行所述“scsi_io_completion”函数的系统时间,作为每个bio各自对应的第三时间值。
[0038] 204、获取IO调度层发送每个bio的时间,并将所述IO调度层发送每个bio的时间分别作为每个bio各自对应的第四时间值。
[0039] 其中,IO调度层发送bio即表示整个bio完成,在整个bio完成后,执行“bio_endio”函数。本发明在该函数中增设打印功能,分别打印执行所述“bio_endio”函数的系统时间,作为每个bio各自对应的第四时间值。
[0040] 205、将每个bio各自对应的第一时间值与所述第二时间值分别作相减运算,得到每个bio各自对应的调度时间段。
[0041] 206、将每个bio各自对应的第二时间值与所述第三时间值分别作相减运算,得到每个bio各自对应的存储设备处理时间段。
[0042] 207、将每个bio各自对应的第三时间值与所述第四时间值分别作相减运算,得到每个bio各自对应的回调时间段。
[0043] 值得说明的是,上述步骤205-207中提到的调度时间段、存储设备处理时间段、回调时间段,其各自对应的IO路径与实施例1中步骤101中的相关描述相同,在此不再重复说明。
[0044] 208、根据所述若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差。
[0045] 209、比较所述调度时间段方差、存储设备处理时间段方差和回调时间段方差的大小,根据比较结果确定最大方差值。
[0046] 210、确定所述最大方差值对应的时间段,并确定所述最大方差值对应的时间段对应的路径为出现问题的IO路径。
[0047] 值得说明的是,其中时间段即为步骤208中的调度时间段、存储设备处理时间段和回调时间段。时间段是由两个时间值的差计算得来的,而时间段的具体获得在本是实施例中步骤205-207已作了相关说明,在此不再重复描述。
[0048] 此外,本步骤中的时间段对应的IO路径,在实施例1中的步骤101中以作了详细描述,在此不再重复说明。
[0049] 另外,值得说明的是,在主驱动中用户可以通过延迟接口函数设置延迟时间,从而能对正常的bio处理流程进行修改,以排除存储设备对服务器IO诊断的影响。
[0050] 进一步地,延迟接口函数的设置方法具体包括:
[0051] 1.定义全局变量delay_time,该变量表示延迟时间。
[0052] 2.定义接口函数,定义的内容为:提供给用户的接口函数名;设置函数的名称。通过定义提供给用户设置延迟时间的接口。
[0053] 3.定义设置函数,设置函数把由接口函数得到的延迟时间传送给全局变量delay_time。
[0054] 具体地,延迟时间用于模拟实际bio经过存储设备的延迟时间。延迟函数延迟设定的延迟时间,等延迟结束后直接调用“scsi_io_completion”函数以改变bio处理流程,使bio不需要经过实际的存储设备。从而能够排除存储器对IO路径的影响。
[0055] 本发明实施例提供的服务器IO诊断的方法,通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的IO路径。这样就要花费大量的时间,因此降低了IO诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据bio处理过程中各时间段对应的方差直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了IO诊断的效率。
[0056] 实施例3
[0057] 本发明提供了一种服务器IO诊断的方法,该方法可以用于如下实例中。本实例以获取5个bio为例介绍具体的方法流程。在本实例中第一时间值可表示为sub-time,第二时间值可表示为dis-time,第三时间值可表示为com-time,第四时间值可表示为end-time。调度时间段表示为sub-dis-time,存储设备处理时间段表示为dis--com-time,回调时间段表示为com-end-time。值得说明的是,此处只是对时间值以及时间段名称的表示方法作了改变,并无其它实际意义。此外,第一时间值、第二时间值、第三时间值、第四时间值与实施例2中步骤201-204的相关描述相同;调度时间段、存储设备处理时间段、回调时间段与实施例2中步骤205-207的相关描述相同,则在本实施例中不再重复说明。如图3所示,该方法包括:
[0058] 301、获取5个bio各自对应的第一时间值、第二时间值、第三时间值、第四时间值。
[0059] 值得说明的是,本步骤的实现方法与实施例2中步骤201-204相对应,只是由实施例2中的不确定的个数转化为确定个数5,所以在此不再重复说明。此外,如下表1,本实例以四种时间的具体数值为例进行说明。
[0060] 表1
[0061]
[0062] 302、对步骤301中的第一时间值、第二时间值、第三时间值、第四时间值进行相减运算。
[0063] 其中,该步骤相减运算与实施例2中步骤205-207相对应,具体实现方法相同,在此不再详细说明。
[0064] 此外,将对于步骤301提供的5个bio的具体时间值得到其相应差值,如下表表2所示:
[0065] 表2
[0066]
[0067] 分别记bio1-bio5的sub-dis-time为s1-s5,分别记bio1-bio5的dis--com-time为d1-d5,分别记bio1-bio5的com-end-time为c1-c5。
[0068] 303、根 据 所 述5 个 bio各 自 对 应 的 sub-dis-time、dis--com-time 和com-end-time进行计算,得到各自的方差。
[0069] 其中,计算方差需要先计算上述三种时间段各自对应的平均值,sub-dis-time对应的平均值记为as,dis--com-time对应的平均值记为ad,com-end-time对应的平均值记为ac。根据本实施例中步骤302得到的5个bio的三种时间段的具体值得到其对应的平均值,如下表3所示:
[0070] 表3
[0071]
[0072] 根据平均值计算方差过程如下:
[0073] 调度时间段方差为:
[0074] 1/5[(s1-as)2+(s2-as)2+(s3-as)2+(s4-as)2+(s5-as)2]=27.6存储设备处理时间段方差为:
[0075] 1/5[(d1-ad)2+(d2-ad)2+(d3-ad)2+(d4-ad)2+(d5-ad)2]=0.8回调时间段方差为:
[0076] 1/5[(c1-ac)2+(c2-ac)2+(c 3-ac)2+(c4-ac)2+(c5-ac)2]=0.8304、确定最大方差值。
[0077] 其中,最大方差值位调度时间段方差,即由上述步骤303中得到的三个方差值中27.6最大,对应调度时间段方差。
[0078] 305、根据比较结果确定出现问题的IO路径为IO调度层到主驱动。
[0079] 本发明实施例提供的服务器IO诊断的方法,通过计算获取5个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的IO路径。这样就要花费大量的时间,因此降低了IO诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据比较结果直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了IO诊断的效率。
[0080] 实施例4
[0081] 本发明提供了一种服务器IO诊断的装置,如图4所示,该装置包括:获取单元41、计算单元42、比较单元43。
[0082] 获取单元41,用于获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段。
[0083] 计算单元42,用于根据所述获取单元41获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差。
[0084] 比较单元43,用于将所述计算单元42得到的调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的IO路径。
[0085] 可选的是,如图5所示,所述获取单元41还包括:获取模块411、运算模块412;所述比较单元43还包括:比较模块431、确定模块432。
[0086] 获取模块411,用于获取IO调度层接收到每个bio的时间,并将所述IO调度层接收到每个bio的时间分别作为每个bio各自对应的第一时间值;用于获取主驱动开始处理每个bio的时间,并将所述主驱动开始处理每个bio的时间分别作为每个bio各自对应的第二时间值;用于获取主驱动处理完每个bio的时间,并将所述主驱动处理完每个bio的时间分别作为每个bio各自对应的第三时间值;获取IO调度层发送每个bio的时间,并将所述IO调度层发送每个bio的时间分别作为每个bio各自对应的第四时间值。
[0087] 运算模块412,用于将所述获取模块411获取到的每个bio各自对应的第一时间值与所述第二时间值分别作相减运算,得到每个bio各自对应的所述调度时间段;用于将每个bio各自对应的第二时间值与所述第三时间值分别作相减运算,得到每个bio各自对应的存储设备处理时间段;还用于将每个bio各自对应的第三时间值与所述第四时间值分别作相减运算,得到每个bio各自对应的回调时间段。
[0088] 比较模块431,用于比较所述调度时间段方差、存储设备处理时间段方差和回调时间段方差的大小。
[0089] 确定模块432,用于根据所述比较模块431得到的比较结果确定最大方差值;确定所述最大方差值对应的时间段,并确定所述最大方差值对应的时间段对应的路径为出现问题的IO路径。
[0090] 本发明实施例提供的服务器IO诊断的装置,通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的IO路径。这样就要花费大量的时间,因此降低了IO诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据比较结果直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了IO诊断的效率。
[0091] 实施例5
[0092] 本发明提供了一种服务器IO诊断的装置,如图6所示,该装置包括:处理器01、存储器02。
[0093] 处理器01,用于获取IO调度层接收到每个bio的时间,并将所述IO调度层接收到每个bio的时间分别作为每个bio各自对应的第一时间值。
[0094] 存储器02,用于存储所述每个bio各自对应的第一时间值。
[0095] 处理器01,用于获取主驱动开始处理每个bio的时间,并将所述主驱动开始处理每个bio的时间分别作为每个bio各自对应的第二时间值。
[0096] 存储器02,用于存储所述每个bio各自对应的第二时间值。
[0097] 处理器01,用于获取主驱动处理完每个bio的时间,并将所述主驱动处理完每个bio的时间分别作为每个bio各自对应的第三时间值。
[0098] 存储器02,用于存储所述每个bio各自对应的第三时间值。
[0099] 处理器01,用于获取IO调度层发送每个bio的时间,并将所述IO调度层发送每个bio的时间分别作为每个bio各自对应的第四时间值。
[0100] 存储器02,用于存储所述每个bio各自对应的第四时间值。
[0101] 处理器01,用于将每个bio各自对应的第一时间值与所述第二时间值分别作相减运算,得到每个bio各自对应的调度时间段。
[0102] 存储器02,用于存储所述每个bio各自对应的调度时间段。
[0103] 处理器01,用于将每个bio各自对应的第二时间值与所述第三时间值分别作相减运算,得到每个bio各自对应的存储设备处理时间段。
[0104] 存储器02,用于存储所述每个bio各自对应的存储设备处理时间段。
[0105] 处理器01,用于将每个bio各自对应的第三时间值与所述第四时间值分别作相减运算,得到每个bio各自对应的回调时间段。
[0106] 存储器02,用于存储所述每个bio各自对应的回调时间段。
[0107] 处理器01,用于根据所述若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差。
[0108] 存储器02,用于存储所述调度时间段方差、存储设备处理时间段方差和回调时间段方差。
[0109] 处理器01,用于比较所述调度时间段方差、存储设备处理时间段方差和回调时间段方差的大小,根据比较结果确定最大方差值。
[0110] 存储器02,用于存储所述最大方差值。
[0111] 处理器01,用于确定所述最大方差值对应的时间段,并确定所述最大方差值对应的时间段对应的路径为出现问题的IO路径。
[0112] 存储器02,用于存储所述出现问题的IO路径。
[0113] 可选的是,处理器01,还用于设置延迟接口函数。
[0114] 存储器02,还用于存储所述延迟接口函数。
[0115] 本发明实施例提供的服务器IO诊断的装置,通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的IO路径。这样就要花费大量的时间,因此降低了IO诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据比较结果直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了IO诊断的效率。
[0116] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0117] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。