CN109407984B - 一种存储系统性能监测方法、装置和设备 - Google Patents
一种存储系统性能监测方法、装置和设备 Download PDFInfo
- Publication number
- CN109407984B CN109407984B CN201811183950.7A CN201811183950A CN109407984B CN 109407984 B CN109407984 B CN 109407984B CN 201811183950 A CN201811183950 A CN 201811183950A CN 109407984 B CN109407984 B CN 109407984B
- Authority
- CN
- China
- Prior art keywords
- module
- stage
- performance
- appointed
- function module
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000012544 monitoring process Methods 0.000 title claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 49
- 238000005457 optimization Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 84
- 238000004891 communication Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种存储系统性能监测方法,该方法包括:获取注册信息,根据注册信息中的模块号以及相关的阶段号,采集指定功能模块执行对应流程阶段时相关的工作参数;根据指定监控时间内所采集的工作参数,统计得到该指定功能模块在对应流程阶段的性能指标,该性能指标包括每秒读写次数IOPS、带宽和时延;根据所述性能指标进行信息提示。利用该方法能够自动智能地监测存储系统内部存储模块的在某个流程阶段的工作性能,根据实际工作性能情况进行信息提示以提示开发人员针对性地对存储系统进行优化,这样能够降低优化难度,并提高优化效率。另外,本申请还提供了对应的装置以及设备。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种存储系统性能监测方法、装置和设备。
背景技术
随着大数据和云计算技术的不断发展,业内对存储系统的性能要求越来越高,基于此,本领域开发人员为了提供高性能的存储系统,在存储系统的开发阶段,还需要对其性能进行测试,以发现存储系统的性能瓶颈,进一步优化存储系统,从而能够向市场上提供高性能的存储系统。
现阶段,开发人员在进行测试时,往往是凭借个人经验审查存储系统的程序代码,通过对程序代码的审查以确定出存储系统的性能好坏,在发现问题时,再进一步修改对应的代码,但这种测试方式对开发人员的业务经验要求很高,并且其效率较低。
当然,除了在开发阶段,在存储系统应用阶段也会遇到对其工作性能进行监控的问题,现阶段的性能监测方法主要是针对整个存储系统的读写IO性能进行监控,而整个存储系统是一个复杂的系统,当监控出该存储系统性能出现问题时,无法定位出具体是哪个部分的问题导致的,这使得对存储系统的性能调优变得非常困难。
基于此,目前亟需针对存储系统提供一种监控方法,以为存储系统的开发阶段以及应用阶段的优化提供数据支持,简化存储系统的调优过程。
发明内容
本申请实施例提供了一中存储系统性能监测方法,该方法能够解决上述技术问题,通过自动智能地监测存储系统,以监测出有效的性能指标,该性能够指标能够作为参考数据提供给开发人员,以方便开发人员根据该参考数据针对性地对存储系统进行优化。
在本申请第一方面提供了一种存储系统性能监测方法,该方法包括:
获取注册信息,所述注册信息包括指定功能模块的模块号以及与所述指定功能模块对应的指定流程阶段的阶段号;
根据所述模块号以及所述阶段号,采集所述指定功能模块执行对应流程阶段时相关的工作参数,所述工作参数包括每个输入输出IO请求的开始结束时间戳以及IO大小;
根据指定监控时间内所采集的所述工作参数,统计得到所述指定功能模块在对应流程阶段的性能指标,所述性能指标包括每秒读写次数IOPS、带宽和时延;
根据所述性能指标进行信息提示。
可选的,所述根据所述性能指标进行信息提示,包括:
根据所述性能指标和性能优化规则,从所述指定功能模块的各个流程阶段中筛选出所述指定功能模块对应的待优化的流程阶段;所述性能优化规则用于表征需要被优化的流程阶段所需满足的条件;
根据所述指定功能模块对应的所述待优化的流程阶段生成提示信息,以提示用户对所述待优化的流程阶段进行优化。
可选的,所述性能优化规则具体表征为将IOPS最小或者带宽最小的流程阶段作为待优化的流程阶段;
则所述根据所述指定功能模块的所述待优化的流程阶段生成提示信息,包括:
根据所述指定功能模块的模块号对应的IOPS最小或者带宽最小的流程阶段的阶段号打包生成提示信息。
可选的,所述性能优化规则具体表征为将延时最长或者延时波动最大的流程阶段作为待优化的流程阶段;
则所述根据所述指定功能模块的所述待优化的流程阶段生成提示信息,包括:
根据所述指定功能模块的模块号对应的延时最长或者延时波动最大的流程阶段的阶段号打包生成提示信息。
可选的,所述根据所述性能指标进行信息提示,包括:
根据所述指定功能模块对应的所述指定流程阶段的性能指标,绘制生成性能指标图表;
根据所述性能指标图表进行信息提示。
可选的,所述根据指定监测时间内所采集的所述工作参数,统计得到所述指定功能模块在对应流程阶段的性能指标,包括:
针对所述指定功能模块的所述指定流程阶段,根据指定监测时间内所采集的所述指定功能模块在所述指定流程阶段中所执行的IO的总个数,计算得到IOPS;
根据每个IO的大小,根据指定监测时间内所采集的所述指定功能模块在所述指定流程阶段中所执行的IO的大小和值,计算得到带宽;
根据每个IO的开始结束时间戳,统计在指定监测时间内所述指定功能模块在所述指定流程阶段中所执行的IO的平均执行时长,作为时延。
可选的,所述工作参数还包括IO合并次数;
则统计得到的所述性能指标还包括IO平均合并次数。
可选的,所述指定功能模块是存储系统中任意一个能够实现数据存储功能的模块,包括以下任意一种或者多种:
缓存模块、存储池模块或者磁盘阵列模块RAID。
在本申请第二方面提供了一种存储系统性能监测装置,该装置包括:
获取模块,用于获取注册信息,所述注册信息包括指定功能模块的模块号以及与所述指定功能模块对应的指定流程阶段的阶段号;
采集模块,用于根据所述模块号以及所述阶段号,采集所述指定功能模块执行对应流程阶段时相关的工作参数,所述工作参数包括每个输入输出IO请求的开始结束时间戳以及IO大小;
统计模块,用于根据指定监控时间内所采集的所述工作参数,统计得到所述指定功能模块在对应流程阶段的性能指标,所述性能指标包括每秒读写次数IOPS、带宽和时延。
在本申请第三方面提供了一种设备,所述设备中部署有存储系统,包括:
控制器和硬盘;
所述硬盘插入插槽,并通过通信总线与所述控制器进行通信;
所述控制器用于控制对所述硬盘的读写操作;
所述控制器包括处理器和存储器,所述存储器中存储有可执行指令;所述处理器用于从所述存储器中读取所述可执行指令,并在运行所述可执行指令时实现上述本申请第一方面提供的存储系统性能监测方法。
在本申请第四方面提供了一种计算机存储介质,其上存储有程序,所述程序在被处理器执行时实现本申请第一方面提供的存储系统性能监测方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中提供了一种存储系统性能监测方法,该方法既能够适用于存储系统开发阶段,也能够适应于应用阶段以为开发人员提供更有价值的参考数据,方便开发人员根据参考数据对存储系统中存储模块进行针对性的优化,以提高优化效率。该方法在应用时,先获取注册信息,所述注册信息包括指定功能模块的模块号以及与所述指定功能模块对应的指定流程阶段的阶段号;根据该注册信息获知对哪个模块的哪个阶段进行针对性监测,进而根据所述模块号以及所述阶段号,采集所述指定功能模块执行对应流程阶段时相关的工作参数,所述工作参数包括每个输入输出IO请求的开始结束时间戳以及IO大小;然后,根据指定监控时间内所采集的所述工作参数,统计得到所述指定功能模块在对应流程阶段的性能指标,所述性能指标包括每秒读写次数IOPS、带宽和时延;最后,根据统计得到的性能指标进行信息提示,以使开发人员能够根据信息提示获知存储系统中指定功能模块的某个指定流程阶段的实际工作性能,进而针对性地进行优化。
相比现有技术中,在存储系统开发阶段,由开发人员人工审查代码的方式发现问题进行优化,利用该方法能够智能地统计出存储系统中指定功能模块在指定流程阶段的工作性能,以作为参数数据提供给开发人员,以便开发人员根据该参考数据对存储系统进行维护,节省了人工审核的时间,降低了人工审核难度,提高了效率;另外,相比现有技术中,在存储系统应用阶段,仅关注整个存储系统的IO性能,无法得知存储系统的内部性能情况,利用该方法能够定位出存储系统的内部性能情况,以给开发人员提供更细维度的参考数据,方便开发人员定位出具体模块的具体流程阶段,以针对性地进行优化。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种存储系统性能监测方法的应用场景图;
图2为本申请实施例提供的一种存储系统性能监测方法的流程图;
图3为本申请实施例提供的一种存储系统性能监测装置的结构图;
图4为本申请实施例提供的一种设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请提供的通信方法应用于任何形式的存储系统,以智能地实现对存储系统性能的监测,并向开发人员提供参考信息,以便开发人员根就参考信息能够对存储系统针对性地进行优化,以保障存储系统的高性能。
为了便于理解,下面先通过具体应用场景对本申请提供的存储系统性能监测方法的应用情况进行示例说明。
在介绍该应用场景之前,先对存储系统进行说明。
所谓存储系统是指能够实现数据存储功能的系统,从软件层面上来讲,其是指基于存储协议构建的实现数据存储功能的一套软件,其需要部署在存储设备如服务器上得以运行,从硬件层面上来讲,其是指支持存储协议的存储设备,在具体实现时,该存储设备可以是独立的设备,也可以采用分布式部署方式,也可以采用集群方式等。该存储设备可以理解为普通服务器,也可以是机柜式服务器,当然也可以是其他形式。
在本申请中,并不局限于哪一种存储系统,只要是存储系统,就能够适用本申请提供的方法。为了便于理解,下面给出一个存储系统的示例,例如:SAN(Storage AreaNetwork,存储区域网络)存储系统、NAS(Network Attached Storage,网络附接存储)存储系统、备份存储系统、基于SAN/NAS的统一存储系统、分布式SAN存储系统、以及对象存储系统等等。
下面对应用场景进行说明。
参见图1,如图1所示,本申请提供的该监测方法应用于存储设备100中,存储设备100中部署有存储系统,且其包括控制器,控制器内置有有可执行指令,例如计算机程序,通过执行可执行指令对该存储设备中配置的存储系统的性能进行监测,以监测得到性能指标,进而根据该性能指标生成提示信息,以向终端200下发提示信息,从而方便开发人员通过终端200获得该提示信息,了解存储系统在工作时内部功能模块的性能情况,从而针对性地对存储系统进行性能优化。例如,假设该提示信息表明该存储系统中的缓存模块的第一流程阶段性能不好,此时,开发人员只需要根据该提示信息针对性地对该存储系统中缓存模块的第一流程阶段对应的代码进行优化即可,这样就极大地减少了开发人员定位优化点的时间,提高了优化效果。
应理解的是,该存储设备100和该终端200之间可以通过网络通信,该存储设备100可以向指定邮件下发该提示信息,这样用户可以通过终端200登录邮箱查看该提示信息。当然,用户也可以通过下发命令的方式查看该提示信息,而存储设备100接收到该命令之后,再向终端200反馈该指示信息即可。
下面结合图2对本申请提供的一种存储系统性能监测方法进行解释说明。
参见图2,图2示出了本申请实施例提供的一种存储系统性能监测方法的流程图,该方法应用于存储设备中,该方法包括以下步骤:
S201:获取注册信息,所述注册信息包括指定功能模块的模块号以及与所述指定功能模块对应的指定流程阶段的阶段号;
在具体实现时,根据实际测试需求,开发人员可是根据实际业务需求,将存储系统中的功能模块的工作流程进行划分,将其划分成若干个流程阶段,进而根据实际监测需求配置注册信息,即预先设置好针对哪些功能模块的哪些流程阶段进行监测。
应理解的是,不同存储系统可能包含不同类型的功能模块,当然所包含的功能模块的个数也可能不同,不同功能模块的工作流程也不相同,因此,具体对功能模块的工作流程如何划分,以及划分成多少个阶段,在本申请中均不做限定。
例如,一些存储系统包括缓存模块、存储池模块或者磁盘阵列模块RAID等存储模块,当然,有些存储系统包括缓存模块和磁盘阵列模块RAID;当然,有些存储模块还可能包括快照模块、协议模块、驱动模块、远程复制模块等等。为了便于理解,下面仅以存储系统中缓存模块为例,对工作流程的阶段划分进行示例说明。
例如,在需要对缓存模块进行性能统计时,首先会对缓存模块的工作流进行阶段划分,例如将该缓存模块接收到IO请求到将该IO请求添加至IO链表这个过程,划分成第一流程阶段,标记阶段号为001;进而将该缓存模块从IO链表中取出IO请求,并通过特定的缓存算法识别出地址连续的IO请求这个过程,划分成第二流程阶段,标记阶段号为002;进而将该缓存模块将地址连续的IO合并成一个大IO的过程,划分成第三流程阶段,标记阶段号为003;最后,将根据当前缓存池的水位变化进行数据刷盘这一过程,划分成第四流程阶段,标记阶段号为004。当然,这只是一种流程阶段划分示例。在具体实现时,也可以划分更细维度的流程阶段,例如,将第三流程阶段划分成两个子阶段,比如将IO数据拼接过程划分成一个阶段,而将IO数据封装成一个新的大IO的过程划分成一个阶段。
在具体实现时,该注册信息可以以配置文件的形式存储于设备中,进而在执行该方法时,通过读取该配置文件以获取该注册信息。
在具体实现时,若需要对一个功能模块的多个流程阶段的性能进行监测,则需要预先配置多组注册信息,当然,若需要对多个功能模块各自的一个或者多个流程阶段的性能进行监测,则也需要预先配置多组注册信息,基于此,在实际应用中,可以获取多组注册信息,每组注册信息中包括一个指定功能模块的模块号和与该指定功能模块相关的指定流程阶段的阶段号。
当然,考虑到在实际应用中,测试需求会不断变化,因此,该配置文件可以设置成可配置的形式,基于此,开发人员可以根据实际需要通过更新该配置文件中注册信息的方式来满足测试业务需求。
S202:根据所述模块号以及所述阶段号,采集所述指定功能模块执行对应流程阶段时相关的工作参数,所述工作参数包括每个输入输出IO请求的开始结束时间戳以及IO大小;
在具体实现时,根据获取的注册信息,获知此次应该对哪个模块的哪个流程阶段进行监测,进而根据该模块的模块号以及对应的阶段号,定位需要监测的时机,一旦该指定功能模块接收到IO请求,进入到该指定流程阶段时,就采集相关的工作参数,这里的工作参数至少包括IO请求的开始结束时间戳以及该IO的大小。
在具体实现时,IO请求也被简称为IO。IO请求即输入输出请求,其具体可以为输入请求即存储请求,也可以为输出请求即读取请求。一个IO请求至少包括指定盘的盘号、指定位置、以及IO大小(即数据长度)。当然,若该IO请求是一个输入请求其还可能包括需要存储的数据。
在具体实现时,需要监测指定功能模块在执行指定流程阶段时所处理的每个IO请求的开始结束时间戳以及该IO大小。其中,每个IO请求的开始结束时间戳具体包括开始时间戳和结束时间戳,该时间戳是通过监控指定功能模块在执行指定流程阶段时同步查看存储系统的工作时钟即系统时间而记录的。一个IO请求的结束时间戳与开始时间戳的差值,就是存储模块在执行指定流程阶段时处理该IO请求所消耗的执行时间。
在具体实现时,需要在指定监控时间内采集该指定功能模块在执行指定流程阶段时所执行的所有IO请求的相关工作参数。即,采集得到每一个IO请求各自对应的工作参数。
S203:根据指定监控时间内所采集的所述工作参数,统计得到所述指定功能模块在对应流程阶段的性能指标,所述性能指标包括每秒读写次数IOPS、带宽和时延;
应理解的是,此处统计得到的性能指标可以理解为通用性能指标,任何一个存储模块的任何一个流程阶段都可以通过其对应的性能指标,来衡量其具体工作性能。
当然,在具体实现时,除了统计这些通用性能指标之外,还可以统计一些特定的专用性能指标,此处的专用性能指标可以理解为是能够表征特定存储模块的特定流程阶段所对应的工作性能。例如,对于缓存模块而言,在采集工作参数时,还采集IO合并次数;则利用该工作参数,还可以进一步统计出专用性能指标为IO平均合并次数。因此,可以针对特定的存储模块对应的特定的流程阶段,采集特定的工作参数,以统计出专用性能指标。
在具体实现时,针对一个指定功能模块对应的一个指定流程阶段,统计其对应的性能指标。可以理解的是,若针对一个指定功能模块相关的多个指定流程阶段,则需要针对各个流程阶段分别统计其对应的性能指标。
在具体实现时,通过以下方式针对一个指定功能模块对应的一个指定流程阶段,统计得到对应的性能指标:
针对所述指定功能模块的所述指定流程阶段,根据指定监测时间内所采集的所述指定功能模块在所述指定流程阶段中所执行的IO的总个数,计算得到IOPS;其中,IOPS是指单位时间内所处理的IO个数,基于此,IOPS等于在指定监测时间内所采集的IO总个数与指定监测时间长度的比值;该指定监测时间长度单位为秒。
根据每个IO的大小,根据指定监测时间内所采集的所述指定功能模块在所述指定流程阶段中所执行的IO的大小和值,计算得到带宽;应理解的是,带宽指每秒传输的数据量,数据量即所有IO大小的和,基于此,带宽等于指定监测时间内所采集的IO大小的总和与该指定监测时间长度的比值,该指定监测时间长度单位为秒。
根据每个IO的开始结束时间戳,统计在指定监测时间内所述指定功能模块在所述指定流程阶段中所执行的IO的平均执行时长,作为时延。
基于上述步骤能够统计得到指定功能模块在指定流程阶段所对应的性能指标。
S204:根据所述性能指标进行信息提示。
在具体实现时,为了方便开发人员快速定位存储系统的性能瓶颈,及时优化存储系统。本申请实施例针对如何进行信息提示,提供了以下几种实现方式:
第一种实现方式是,根据所述性能指标和性能优化规则,从所述指定功能模块的各个流程阶段中筛选出所述指定功能模块对应的待优化的流程阶段;所述性能优化规则用于表征需要被优化的流程阶段所需满足的条件;
根据所述指定功能模块对应的所述待优化的流程阶段生成提示信息,根据所述提示信息进行信息提示,以提示用户对所述待优化的流程阶段进行优化。
在第一种实现方式的基础上,所述性能优化规则具体可以表征为将IOPS最小或者带宽最小的流程阶段作为待优化的流程阶段;可以理解的是,若一个存储模块的某个流程阶段的IOPS极小,或者带宽极小,则其IO处理性能明显存在问题,此时就需要对这个存储模块的该流程阶段做进一步优化。
则所述根据所述指定功能模块的所述待优化的流程阶段生成提示信息,包括:根据所述指定功能模块的模块号对应的IOPS最小或者带宽最小的流程阶段的阶段号打包生成提示信息。
在第一种实现方式的基础上,所述性能优化规则具体可以表征为将延时最长或者延时波动最大的流程阶段作为待优化的流程阶段;可以理解的是,若一个存储模块的某个流程阶段的延时较大,或者延时波动较大,则其IO处理性能明显存在问题,此时就需要对这个存储模块的该流程阶段做进一步优化。
则所述根据所述指定功能模块的所述待优化的流程阶段生成提示信息,包括:根据所述指定功能模块的模块号对应的延时最长或者延时波动最大的流程阶段的阶段号打包生成提示信息。
这样,该存储设备可以向用户使用的终端下发该提示信息,以提示用户根据该提示信息对存储系统进行性能优化。
第二种实现方式是,根据所述指定功能模块对应的所述指定流程阶段的性能指标,绘制生成性能指标图表;并根据所述性能指标图表进行信息提示。
在第二种实现方式的基础上,该性能指标图表可以采用表格、饼状图、柱状图等任意样式的图表,以形象化的为用户显示提示信息,方便用户查看提示信息。
第三种实现方式是,直接将统计生成的性能指标打包生成提示信息,以使用户根据该提示信息获知存储系统中指定功能模块在指定流程阶段的具体工作性能。
在具体实现时,该存储设备可以通过网络通信方式,向用户指定的邮箱下发该指示信息,以方便用户通过查收邮件获知该指示信息,进而根据该指示信息对存储系统进行优化。或者,该存储设备可以响应于用户通过终端发送的指示信息查看命令,向该终端返回该指示信息。或者,该存储设备具有显示单元,则可以通过显示单元例如显示屏为用户直接显示该提示信息。
应理解的是,上述实施例提供的方法既能够适用于存储系统开发阶段,也能够适应于应用阶段以为开发人员提供更有价值的参考数据,方便开发人员根据参考数据对存储系统中存储模块进行针对性的优化,以提高优化效率。相比现有技术中,在存储系统开发阶段,由开发人员人工审查代码的方式发现问题进行优化,利用该方法,通过自动获取注册信息,根据该注册信息获知对哪个模块的哪个阶段进行针对性监测,进而根据所述模块号以及所述阶段号,采集所述指定功能模块执行对应流程阶段时相关的工作参数,所述工作参数包括每个输入输出IO请求的开始结束时间戳以及IO大小;然后,根据指定监控时间内所采集的所述工作参数,统计得到所述指定功能模块在对应流程阶段的性能指标,所述性能指标包括每秒读写次数IOPS、带宽和时延;最后,根据统计得到的性能指标进行信息提示,以使开发人员能够根据信息提示获知存储系统中指定功能模块的某个指定流程阶段的实际工作性能,进而针对性地进行优化。可见,该方法能够智能地为开发人员提供提示信息,以提示开发人员快速定位出存储系统的性能瓶颈,从而对存储系统进行针对性地优化,该方法能够节省了人工审核的时间,降低了人工审核难度,提高了效率。
另外,相比现有技术中,在存储系统应用阶段,仅关注整个存储系统的IO性能,无法得知存储系统的内部性能情况,利用该方法能够定位出存储系统的内部性能情况,以给开发人员提供更细维度的参考数据,方便开发人员定位出具体模块的具体流程阶段,以针对性地进行优化。
与上述方法相对应的,本申请还提供了对应的装置。下面对该装置进行解释说明。
参见图3,图3示出了本申请实施例提供的一种存储系统性能监测装置,该装置包括:
获取模块301,用于获取注册信息,所述注册信息包括指定功能模块的模块号以及与所述指定功能模块对应的指定流程阶段的阶段号;
采集模块302,用于根据所述模块号以及所述阶段号,采集所述指定功能模块执行对应流程阶段时相关的工作参数,所述工作参数包括每个输入输出IO请求的开始结束时间戳以及IO大小;
统计模块303,用于根据指定监控时间内所采集的所述工作参数,统计得到所述指定功能模块在对应流程阶段的性能指标,所述性能指标包括每秒读写次数IOPS、带宽和时延;
提示模块304,用于根据所述性能指标进行信息提示。
可选的,所述提示模块304,具体包括:
筛选子模块,用于根据所述性能指标和性能优化规则,从所述指定功能模块的各个流程阶段中筛选出所述指定功能模块对应的待优化的流程阶段;所述性能优化规则用于表征需要被优化的流程阶段所需满足的条件;
提示子模块,用于根据所述指定功能模块对应的所述待优化的流程阶段生成提示信息,根据所述提示信息进行信息提示,以提示用户对所述待优化的流程阶段进行优化。
可选的,所述性能优化规则具体表征为将IOPS最小或者带宽最小的流程阶段作为待优化的流程阶段;
则所述提示子模块具体用于:根据所述指定功能模块的模块号对应的IOPS最小或者带宽最小的流程阶段的阶段号打包生成提示信息。
可选的,所述性能优化规则具体表征为将延时最长或者延时波动最大的流程阶段作为待优化的流程阶段;
则所述提示子模块具体用于:根据所述指定功能模块的模块号对应的延时最长或者延时波动最大的流程阶段的阶段号打包生成提示信息。
可选的,所述提示模块304,包括:
图表绘制子模块,用于根据所述指定功能模块对应的所述指定流程阶段的性能指标,绘制生成性能指标图表;
提示子模块,用于根据所述性能指标图表进行信息提示。
可选的,所述统计模块303,包括:
IOPS统计子模块,用于针对所述指定功能模块的所述指定流程阶段,根据指定监测时间内所采集的所述指定功能模块在所述指定流程阶段中所执行的IO的总个数,计算得到IOPS;
带宽统计子模块,用于根据每个IO的大小,根据指定监测时间内所采集的所述指定功能模块在所述指定流程阶段中所执行的IO的大小和值,计算得到带宽;
时延统计子模块,用于根据每个IO的开始结束时间戳,统计在指定监测时间内所述指定功能模块在所述指定流程阶段中所执行的IO的平均执行时长,作为时延。
可选的,所述工作参数还包括IO合并次数;
则统计得到的所述性能指标还包括IO平均合并次数。
可选的,所述指定功能模块是存储系统中任意一个能够实现数据存储功能的模块,包括以下任意一种或者多种:缓存模块、存储池模块、磁盘阵列模块RAID、快照模块、协议模块、驱动模块、远程复制模块。
另外,本申请还提供了一种设备,下面结合图4对该设备进行解释说明。
参见图4,图4示出了本申请实施例提供的一种设备的结构图,如图4所示,该设备400中部署有存储系统,该设备400包括:
控制器401和硬盘402;
所述硬盘402插入插槽,并通过通信总线403与所述控制器401进行通信;
所述控制器401用于控制对所述硬盘的读写操作;
所述控制器401包括处理器4011和存储器4012,所述存储器4012中存储有可执行指令;所述处理器4011用于从所述存储器中读取所述可执行指令,并在运行所述可执行指令时实现上述实施例描述的存储系统性能监测方法。
上述图4示例中,该设备包括多个硬盘,在实际应用中,该设备可以仅包括一个硬盘,当然在实际应用中,该设备也还可以包括其他部件,以实现其对应的功能。
利用该设备能够实现对存储系统中指定功能模块在指定流程阶段的工作性能监测,以从更细维度来监测存储系统的工作性能,从而能够为开发人员提供更有价值的参考信息,以方便开发人员根据这些参考信息来了解存储系统的内部工作情况,从而进行针对性的优化。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种存储系统性能监测方法,其特征在于,包括:
获取注册信息,所述注册信息包括指定功能模块的模块号以及与所述指定功能模块对应的指定流程阶段的阶段号;
根据所述模块号以及所述阶段号,采集所述指定功能模块执行对应流程阶段时相关的工作参数,所述工作参数包括每个输入输出IO请求的开始结束时间戳以及IO大小;
根据指定监控时间内所采集的所述工作参数,统计得到所述指定功能模块在对应流程阶段的性能指标,所述性能指标包括每秒读写次数IOPS、带宽和时延;
根据所述性能指标进行信息提示;
所述根据所述性能指标进行信息提示,包括:
根据所述性能指标和性能优化规则,从所述指定功能模块的各个流程阶段中筛选出所述指定功能模块对应的待优化的流程阶段;所述性能优化规则用于表征需要被优化的流程阶段所需满足的条件;
根据所述指定功能模块对应的所述待优化的流程阶段生成提示信息,根据所述提示信息进行信息提示,以提示用户对所述待优化的流程阶段进行优化。
2.根据权利要求1所述方法,其特征在于,所述性能优化规则具体表征为将IOPS最小或者带宽最小的流程阶段作为待优化的流程阶段;
则所述根据所述指定功能模块的所述待优化的流程阶段生成提示信息,包括:
根据所述指定功能模块的模块号对应的IOPS最小或者带宽最小的流程阶段的阶段号打包生成提示信息。
3.根据权利要求1所述方法,其特征在于,所述性能优化规则具体表征为将延时最长或者延时波动最大的流程阶段作为待优化的流程阶段;
则所述根据所述指定功能模块的所述待优化的流程阶段生成提示信息,包括:
根据所述指定功能模块的模块号对应的延时最长或者延时波动最大的流程阶段的阶段号打包生成提示信息。
4.根据权利要求1所述方法,其特征在于,所述根据所述性能指标进行信息提示,包括:
根据所述指定功能模块对应的所述指定流程阶段的性能指标,绘制生成性能指标图表;
根据所述性能指标图表进行信息提示。
5.根据权利要求1所述方法,其特征在于,所述根据指定监测时间内所采集的所述工作参数,统计得到所述指定功能模块在对应流程阶段的性能指标,包括:
针对所述指定功能模块的所述指定流程阶段,根据指定监测时间内所采集的所述指定功能模块在所述指定流程阶段中所执行的IO的总个数,计算得到IOPS;
根据每个IO的大小,根据指定监测时间内所采集的所述指定功能模块在所述指定流程阶段中所执行的IO的大小和值,计算得到带宽;
根据每个IO的开始结束时间戳,统计在指定监测时间内所述指定功能模块在所述指定流程阶段中所执行的IO的平均执行时长,作为时延。
6.根据权利要求1所述方法,其特征在于,所述工作参数还包括IO合并次数;
则统计得到的所述性能指标还包括IO平均合并次数。
7.根据权利要求1所述方法,其特征在于,所述指定功能模块是存储系统中任意一个功能模块,包括以下任意一种或者多种:
缓存模块、存储池模块、磁盘阵列模块RAID、快照模块、协议模块、驱动模块或者远程复制模块。
8.一种存储系统性能监测装置,其特征在于,包括:
获取模块,用于获取注册信息,所述注册信息包括指定功能模块的模块号以及与所述指定功能模块对应的指定流程阶段的阶段号;
采集模块,用于根据所述模块号以及所述阶段号,采集所述指定功能模块执行对应流程阶段时相关的工作参数,所述工作参数包括每个输入输出IO请求的开始结束时间戳以及IO大小;
统计模块,用于根据指定监控时间内所采集的所述工作参数,统计得到所述指定功能模块在对应流程阶段的性能指标,所述性能指标包括每秒读写次数IOPS、带宽和时延;
提示模块,用于根据所述性能指标进行信息提示;
所述提示模块,具体包括:
筛选子模块,用于根据所述性能指标和性能优化规则,从所述指定功能模块的各个流程阶段中筛选出所述指定功能模块对应的待优化的流程阶段;所述性能优化规则用于表征需要被优化的流程阶段所需满足的条件;
提示子模块,用于根据所述指定功能模块对应的所述待优化的流程阶段生成提示信息,根据所述提示信息进行信息提示,以提示用户对所述待优化的流程阶段进行优化。
9.一种设备,其特征在于,所述设备中部署有存储系统,包括:
控制器和硬盘;
所述硬盘插入插槽,并通过通信总线与所述控制器进行通信;
所述控制器用于控制对所述硬盘的读写操作;
所述控制器包括处理器和存储器,所述存储器中存储有可执行指令;所述处理器用于从所述存储器中读取所述可执行指令,并在运行所述可执行指令时实现上述权利要求1至7任一项所述存储系统性能监测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811183950.7A CN109407984B (zh) | 2018-10-11 | 2018-10-11 | 一种存储系统性能监测方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811183950.7A CN109407984B (zh) | 2018-10-11 | 2018-10-11 | 一种存储系统性能监测方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109407984A CN109407984A (zh) | 2019-03-01 |
CN109407984B true CN109407984B (zh) | 2021-12-17 |
Family
ID=65466995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811183950.7A Active CN109407984B (zh) | 2018-10-11 | 2018-10-11 | 一种存储系统性能监测方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109407984B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471785B (zh) * | 2019-08-09 | 2023-04-11 | 北京智睿博信息技术有限公司 | 一种快速定位存储性能问题的方法及系统 |
CN111124308A (zh) * | 2019-12-22 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种性能分析方法、装置及电子设备和存储介质 |
CN113568798B (zh) * | 2021-09-28 | 2022-01-04 | 苏州浪潮智能科技有限公司 | 服务器故障定位方法、装置、电子设备及存储介质 |
CN116830074A (zh) * | 2021-12-24 | 2023-09-29 | 华为技术有限公司 | 数据处理方法及数据处理装置 |
CN114328122A (zh) * | 2021-12-31 | 2022-04-12 | 郑州云海信息技术有限公司 | 一种io全生命周期时延监测方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763223A (zh) * | 2009-12-25 | 2010-06-30 | 成都市华为赛门铁克科技有限公司 | 优化存储阵列的存储性能的方法及装置、存储装置 |
CN106126407A (zh) * | 2016-06-22 | 2016-11-16 | 西安交通大学 | 一种针对分布式存储系统的性能监控调优系统及方法 |
CN107590069A (zh) * | 2017-08-16 | 2018-01-16 | 国家电网公司 | 一种软件定义存储性能评测方法 |
US10019195B1 (en) * | 2016-06-27 | 2018-07-10 | EMC IP Holdings Company LLC | Storage array health score |
CN110865896A (zh) * | 2018-08-27 | 2020-03-06 | 华为技术有限公司 | 慢盘检测方法及装置、计算机可读存储介质 |
-
2018
- 2018-10-11 CN CN201811183950.7A patent/CN109407984B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763223A (zh) * | 2009-12-25 | 2010-06-30 | 成都市华为赛门铁克科技有限公司 | 优化存储阵列的存储性能的方法及装置、存储装置 |
CN106126407A (zh) * | 2016-06-22 | 2016-11-16 | 西安交通大学 | 一种针对分布式存储系统的性能监控调优系统及方法 |
US10019195B1 (en) * | 2016-06-27 | 2018-07-10 | EMC IP Holdings Company LLC | Storage array health score |
CN107590069A (zh) * | 2017-08-16 | 2018-01-16 | 国家电网公司 | 一种软件定义存储性能评测方法 |
CN110865896A (zh) * | 2018-08-27 | 2020-03-06 | 华为技术有限公司 | 慢盘检测方法及装置、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109407984A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109407984B (zh) | 一种存储系统性能监测方法、装置和设备 | |
CN110245078B (zh) | 一种软件的压力测试方法、装置、存储介质和服务器 | |
US9389916B1 (en) | Job scheduling management | |
WO2003073203A2 (en) | System and method for analyzing input/output activity on local attached storage | |
KR20150063233A (ko) | 로그 데이터 처리 방법 및 이를 수행하는 시스템 | |
EP4020218B1 (en) | Analyzing large-scale data processing jobs | |
CN111614483A (zh) | 链路监控方法、装置、存储介质及计算机设备 | |
CN102231673A (zh) | 用于监控业务服务器的系统和方法 | |
US11526413B2 (en) | Distributed tracing of huge spans for application and dependent application performance monitoring | |
US20150370619A1 (en) | Management system for managing computer system and management method thereof | |
CN109033188A (zh) | 一种元数据采集方法、装置、服务器和计算机可读介质 | |
CN111241144B (zh) | 一种数据处理方法和系统 | |
EP3951601A1 (en) | Information processing device and api usage history display program | |
US10761959B2 (en) | Synchronized temporal and frequency-based visualizations of operational data | |
US9977726B2 (en) | System and method for smart framework for network backup software debugging | |
US20210365345A1 (en) | Data collection to monitor devices for performance | |
JP6798504B2 (ja) | ログ分析システム、ログ分析方法及びプログラム | |
CN112764992B (zh) | 线程池的监控方法、装置及设备 | |
CN113641301A (zh) | 一种数据管理方法及装置 | |
CN114675931A (zh) | 一种集成平台实例的资源监控方法及监控装置 | |
CN114168624A (zh) | 数据分析方法、计算设备及存储介质 | |
JP2016053803A (ja) | 電子機器、方法及びプログラム | |
US11487440B1 (en) | Evaluation system for evaluating resource operation of information system by user | |
CN110750432B (zh) | 分布式存储系统的io性能分析方法、系统及相关组件 | |
JP2016091429A (ja) | 情報処理システムおよび制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |