CN110417610A - 存储系统延迟孤立点检测 - Google Patents
存储系统延迟孤立点检测 Download PDFInfo
- Publication number
- CN110417610A CN110417610A CN201910307966.2A CN201910307966A CN110417610A CN 110417610 A CN110417610 A CN 110417610A CN 201910307966 A CN201910307966 A CN 201910307966A CN 110417610 A CN110417610 A CN 110417610A
- Authority
- CN
- China
- Prior art keywords
- data storage
- storage network
- delay
- delay metric
- data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Abstract
本发明涉及一种存储系统延迟孤立点检测。一种用于识别指示数据存储网络中的错误配置或软件故障的异常的系统或方法,其可包括捕获数据存储网络延迟度量,识别所捕获的延迟度量中的高延迟的周期,将统计偏差操作应用于所识别的高延迟的周期中的延迟度量,以及识别在统计偏差延迟度量中的孤立点。该方法还包括计算所识别的孤立点的中值,对所识别的孤立点的中值进行归一化,以及对所识别的孤立点的归一化中值进行评分。
Description
背景技术
在数据存储网络中,延迟是存储设备响应于数据请求或服务数据请求(诸如输入/输出(I/O)请求)所需的或使用的时间量。比通常更高或更长的延迟时间指示使用数据存储网络的应用程序所经历的数据存储网络的性能下降。传统的数据存储网络性能评估过程测量延迟时间以确定数据存储网络是否正在经历性能下降。然而,传统的基于延迟的性能评估方法已经显示出非常不准确,因为数据存储网络性能受到除了延迟时间之外的多个因素的影响。更具体地,已知数据存储网络性能取决于数据存储网络的应用程序工作负载的各种特性,例如诸如I/O请求的大小、CPU饱和度、端口饱和度、磁盘饱和度、队列深度和高速缓存未命中。因此,用于数据存储网络的传统的基于延迟的性能评估方法易于产生不准确的结果并且错误地指示性能下降。因此,数据存储网络及其管理员面临的挑战是如何准确地识别存储环境中是否存在性能问题,以及如果识别出性能问题,则识别出该性能问题的可能原因。传统的数据存储网络的另一个挑战是识别基于延迟的性能下降的根本原因,因为传统的基于延迟的性能评估技术不能分析或以其他方式确定可能导致延迟问题的因素。此外,传统的基于延迟的网络性能评估方法不能提供对即将到来的网络延迟问题的了解,这对于网络管理员来说管理网络活动是期望的。
附图说明
可以通过参考附图中所示的示例实施例来获得更具体的描述,以便可以详细地理解本公开的所述特征、优点和目的的方式。然而,应注意,附图仅示出了本公开的典型或示例实施例,并且不应被视为限制其范围。
图1示出了用于识别数据存储网络中的延迟阈值的聚类算法结果的示例图。
图2示出了八个数据簇或工作负载类型的示例延迟表。
图3示出了由相关系数排序的因素的示例列表,以显示对观察到的延迟的可能贡献者。
图4示出了用于识别数据存储网络中的延迟因素的示例方法。
图5示出了由本公开的方法或软件生成的示例健康评分图表。
图6示出了构造(即CPU组)的MAD操作、孤立点和中值的结果的图表。
图7示出了可视化孤立点影响的示例图。
图8示出了示例周期性表。
图9示出了分配到相等大小的二进制中的工作负载值和实际对应的工作负载指纹的表。
图10示出了处理的数据集的示例图,以显示与预测的延迟相比的实际延迟。
图11示出了用于识别数据存储网络中的延迟异常的示例方法。
图12示出了用于预测未来数据存储网络工作负载模式和高延迟的周期的示例方法。
图13示出了用于实现本公开的示例实施例的示例硬件配置。
图14示出了用于识别可有助于数据存储网络中的延迟性能的数据存储网络延迟度量中的孤立点的示例方法。
具体实施方式
在下文中,参考本公开中描述的构思的示例或实施例。然而,应该理解,所描述的构思不以任何方式限于本文描述的示例或实施例。相反,发明人考虑以下特征、元件或功能的任何组合(无论是与不同实施例相关还是不相关)作为可用于实现和实践本公开的各方面的可能组合。此外,在本公开中描述的各种实施例中提供了优于现有技术的许多优点。然而,尽管本公开的实施例可以实现优于其他可能的解决方案和/或优于现有技术的优点,但是否通过给定实施例实现特定优点也不意图限制本公开的范围。因此,以下方面、特征、功能、实施例和优点旨在是说明性的,并且不被认为是所附权利要求的要素或限制,除非在权利要求中明确地陈述。类似地,对“发明”、“创新”、“发明构思”等的任何提及不应被解释为本文公开的任何发明主题的概括,并且不应被视为所附权利要求的要素或限制,除非在权利要求中明确地陈述。
本公开的实施例提供了一种系统、方法和软件程序,用于可靠地对数据存储网络的工作负载进行捕获、识别和评分,其中工作负载通常被定义为通过与网络和存储基础设施连接的一组机器运行的一组I/O特性。本公开的方法或软件可以连续地并且以无监督的方式在机器学习过程中捕获数据存储网络工作负载度量,由此捕获的数据存储工作负载度量可以被分类为可以用于对数据存储网络的当前和未来I/O操作进行评分的已知模式,如本文进一步描述的。用于评估数据存储网络性能的数据存储工作负载度量可以包括例如延迟、记录的I/O计数、读取/写入比率、高速缓存命中百分比、CPU使用率、CPU饱和度、高速缓存饱和度、后端磁盘饱和度、磁盘端口饱和度、前端端口饱和度、队列深度、I/O大小、高速缓存未命中、CPU忙、高速缓存命中/未命中以及本领域中已知的对数据存储网络延迟产生影响的其他参数。评分的数据存储工作负载度量提供数据存储网络的I/O延迟的测量,该测量可以与来自类似数据存储网络的安装基础上的、之前捕获和评分的度量(也称为历史度量)进行比较,以评估数据存储网络中的性能下降。
这些评分的数据存储工作负载度量还可以用作数据存储网络可管理性软件图形用户界面的性能和健康仪表板的输入,以便评分的学习信息可以提供数据存储网络的各个方面的性能和/或健康的近实时视图。该评分的学习信息在与历史数据存储网络度量相比时对于数据存储网络管理员解决性能问题是有利的,因为评分的学习信息在与历史数据存储网络度量相比时可以帮助管理员确定数据存储网络中延迟的实际原因。通过比较历史评分工作负载度量与当前数据存储网络度量之间的比较生成的健康和性能仪表板对于存储网络管理员在调度资源密集型存储或其他数据存储网络密集型操作(诸如迁移、大数据传输、维护等)时做出网络关键决策上也是有利的。
在本公开的示例中,系统、方法或软件包可以操作以从数据存储网络提取延迟相关的数据参数或度量,以创建数据存储网络的工作负载的唯一历史表示。提取过程可以通过以下方式发生:例如在本地通过驻留在各个数据存储设备上、在用于数据存储网络的管理计算机或服务器上、在与数据存储网络相关联的控制或监视软件上的存储设备管理软件,在云中通过监视到/来自数据存储网络的通信,远程地通过被配置为监视数据传输到/来自数据存储网络的硬件或软件,或通过访问数据存储网络的软件应用程序,该数据存储网络被配置有允许收集评估数据存储网络性能所需的数据存储网络工作负载度量的传感器或数据监视能力。数据存储网络的工作负载的唯一历史表示可以用于与来自较大平台(诸如安装基础)上的数据存储网络的最近数据存储网络工作负载或参数进行比较,以识别数据存储网络的性能问题。
本公开的示例实施例提供了通过查看在采样间隔期间发生的不同类型的I/O的直方图数据来生成数据存储网络的工作负载模式的唯一历史表示的能力。本公开的示例实施例可以通过将当前I/O过程的模式与数据存储网络的唯一历史表示进行比较来分析正在进行I/O过程的存储网络或系统,以找到对应的或相关的历史表示。对于与正在分析的当前I/O过程相关的唯一历史表示,如果历史表示中的数据服务时间或延迟是“X”,则本公开的实施例可以分析在已安装的基础上收集的样本以确定“X”的服务时间或延迟位于特定的延迟百分位数(percentile)范围内,并且进一步该百分位数范围是否使当前的数据存储网络系统超载。总之,本公开的实施例可以捕获数据存储网络的当前表示,并将当前表示与表示正常或典型操作参数的对应历史表示进行比较,以确定当前表示中的延迟是否在与在存在的特定工作负载条件下可接受的数据存储网络性能对应的正常范围内。
在本公开的示例中,根据在数据结构中报告的采样间隔的存储网络数据延迟度量的总和以及平均值来创建工作负载指纹模型。工作负载指纹模型可以是表示数据存储网络的多个延迟相关度量的多维向量,其中延迟相关度量可以包括记录的I/O计数、读取/写入比率、高速缓存命中百分比、CPU使用率、CPU饱和度、高速缓存饱和度、后端磁盘饱和度、磁盘端口饱和度、前端端口饱和度、队列深度、I/O大小、高速缓存未命中、CPU忙、高速缓存命中/未命中、和/或已知或能够影响数据存储网络中的延迟的各种其他度量。这样,与仅基于延迟时间测量的传统数据延迟性能测量技术相反,在本公开的该示例中使用的工作负载指纹模型可以基于与数据存储网络的延迟相关的多个参数。
表示工作负载指纹模型的多维向量可以表示为二进制直方图或大致平行矩形的图,其中矩形的面积与变量的频率成比例并且其宽度等于数据类间隔。示例公开可以使用二进制直方图来创建标记的点数据结构,其中标记的点数据结构中的每个点表示各种大小的I/O的数量分布为若干个固定大小的桶(bucket),其可以被称为I/O大小的直方图数据。例如,可以通过与特定类型的数据存储延迟问题相关来选择桶大小。例如,大小可以是1k、1-2k、2-4k、4-8k、......1-2m、2-4m,如果在5分钟的间隔内有10个大小为4k的I/O和5个大小为128k的I/O,则标记的点将会像[0,0,0,10,0,0,0,0,5,0,0,0...]。诸如“读取”和“写入”I/O的次数和/或命中或未命中高速缓存的读取和写入的次数或比率的附加的度量也可以被考虑到标记的点数据结构中。例如,如果在5分钟的间隔内有20个读取请求和30个写入请求,则读取与写入的比率,即20/30=0.66,作为附加的参数添加到标记的点。此外,在相同的5分钟间隔期间,如果从高速缓存中提供了五个读取请求和十个写入请求,则5/20=0.25和10/30=0.33(这些是读取和写入的高速缓存命中率)还作为附加的参数添加到标记的点。例如,使用命中/未命中率根据测量有多少读取未命中高速缓冲存储器来指示I/O的随机性。
在属于存储系统的所有样本中以及属于同一类的存储系统的所有样本中的这些点中的每个点的集合是形成由本公开的系统、方法或软件使用来比较和分析数据存储网络中的当前数据存储延迟趋势或问题的已知历史数据或训练数据的集合。用于获得训练数据或历史数据的训练通常可以被定义为用于支持创建能够识别数据中的类似或重复模式的等式或传递函数的收集数据。
诸如k均值聚类算法的聚类算法可以在标记的点数据结构或训练数据上运行,其中簇大小设置为8,以产生八个作为工作负载指纹的工作负载类型的簇。K均值聚类被称为用于数据挖掘中的聚类分析的、矢量量化的数学方法,其中k均值聚类旨在将“n”个观察值划分为“k”个簇,其中每个观察值属于簇,最近的均值用作该簇的原型。这实质上导致将数据空间划分为具有可比空间范围的簇的Voronoi单元。作为示例,Voronoi图是基于到平面的特定子集中的点的距离将该平面划分成区域。通常称为种子、位点或生成器的那组点是预先指定的,并且对于每个种子,存在对应的区域(Voronoi单元),该区域由与任何其他点相比更接近该种子的所有点组成。预期大于或小于8的其他簇大小与k均值聚类算法一起使用,然而,实验数据表明,将簇大小设置为8意外地产生了数据存储网络的开销最小的最佳结果。运行k均值聚类算法产生八个数据簇,其每个数据簇是可以称为工作负载指纹的工作负载类型。可选地,假设高斯模型被设置为标记的点数据结构分布,示例实施例可以使用替代的聚类算法(诸如高斯混合模型)在标记的点数据结构上运行。
在运行聚类算法之后,每个得到的簇将包含多个样本,一些簇比其他簇具有更多的样本。在图1中示出的示例数据分析100中,在120个存储系统中从600000个样本导出的簇在所有样本上的延迟百分位数值与簇中的每个簇的每个读取操作或写入操作的延迟值的关系的图中示出。图1的四个曲线图示出了延迟百分位数中的每个具有从左到右逐渐增加的斜率直到遇到肘部102,其中延迟百分位数增加到接近垂直的斜率,如104处所示。肘部102在图中的位置指示四种类型的工作负载类型中的每一种的延迟阈值。因此,每个特定工作负载类型的大多数I/O操作在小于或低于所识别的肘部102的时间上提供。因此,肘部位置可用于确定描绘出特定工作负载的正常和高延迟之间的边界的阈值,即,高延迟高于肘部/阈值或在肘部/阈值的右侧并且正常延迟低于肘部/阈值或在肘部/阈值的左侧。
一旦识别出延迟阈值,就可以为每个工作负载类型或簇生成延迟表。图2示出了来自聚类算法的八个数据簇或工作负载类型的延迟表。该表示出了通过八个簇、系统数量以及属于训练数据中的每个簇的样本数量识别的每个工作负载指纹的不同延迟阈值。延迟百分位数图和延迟表为输入数据存储指纹的实时比较和分析提供了基础基准。
一旦已经为数据存储网络创建延迟表和延迟百分位数图,示例实施例可以在采样周期上监视输入的样本/标记的点并且将输入的数据分类为簇、工作负载指纹和工作负载类型。因此,示例实施例可以现场部署在本地存储单元上的数据存储单元管理软件内的数据存储网络中。管理软件可以实时地记录和分类来自存储系统的每个新的输入样本或标记的点。样本通过本公开的方法、系统或软件被收集或以其他方式被传输到方法、系统或软件,并且应用经训练的k均值算法以将每个样本分类为特定的簇、工作负载指纹和工作负载类型,并且为样本记录的延迟值用于根据样本满足或适合延迟表的哪一列给样本分配分数。例如,如果样本属于簇1且延迟在1.31和1.4之间,则给样本分配的分数为1,类似地,如果其落在91%列中,则其得到分数2。评分基于值所在的表中的位置,例如,评分从90%标记处开始。位于90%标记处的值得到分数1,位于91%标记处的得到分数2,因此依此类推。因此,位于标记98%处的值得到分数9,而位于99%标记处的值得到分数10。
示例实施例可以使用数据上的时间序列相关性来识别哪个因素主要对特定感兴趣区间期间观察到的延迟做出贡献。具有大于零的分数的样本的测量延迟可以与存储系统中其他相关因素的观察值相关联。示例因素包括CPU饱和度、高速缓存饱和度、后端磁盘饱和度、磁盘端口饱和度、前端端口饱和度、队列深度、I/O大小、高速缓存未命中、CPU忙、队列深度、高速缓存命中/未命中以及已知对数据存储网络延迟产生影响的其他参数。具有最高相关系数的因素被确定为导致高延迟的主要因素的最高概率。图3中示出了由相关系数排序的因素的示例列表,该列表示出了哪些因素是观察到的延迟的可能贡献者。
时间序列相关性可以用于通过查看哪些相关因素随观察到的延迟增加或减少来确定哪些因素对延迟有贡献。本质上,相关方法在定义的时间周期上测量潜在的影响因素,并与由这些因素报告的矩阵以及在该周期期间在特定点处的延迟值相关联。使用该相关性,可以应用适当加权的方法来确定在特定时间点有多少延迟或服务时间与所识别的被确定为与观察到的延迟同时发生的贡献因素相关联。
不同的数据存储网络使用不同的硬件和软件,而且,在数据存储网络内,通常看到不同的软件和硬件。在示例系统中,可能存在五个存储系统,每个存储系统运行不同的软件应用程序,诸如Oracle、VMWare、SQL、Tapana等。当传统的延迟监视方法查看存储系统针对这些不同的应用程序看到的I/O模式时,将无法准确识别延迟因素,因为每个软件应用程序具有不同的工作负载指纹。本方法和软件通过使用上面讨论的无监督学习技术创建不同工作负载指纹的桶来克服该缺点,这些桶不是应用程序特定的,而是表示反映各种应用程序中存在的延迟影响因素的不同类型的I/O模式。因此,尽管所有数据存储网络管理软件包或数据存储单元都不包括用于生成准确识别直接导致延迟的因素所需的数据度量的软件,但是本公开的实施例能够在数据存储网络中寻找可以识别延迟因素的不同的模式,无论数据存储网络的底层软件应用程序如何。
返回到图3中所示的延迟表,本公开的示例方法或软件确定存储系统是否正在执行属于例如工作负载指纹A的I/O模式,并且如果服务时间是X,则该方法或软件能够通过分析在已安装的基础上收集的样本来确定X服务时间位于来自图3中的延迟表的特定百分位值中。示例方法或软件通常将确定:对于使系统过载或导致超过所识别的阈值的延迟的样本,在该工作负载指纹A的服务期间或该服务所经历的延迟位于第95百分位数或更高,这也表示与同一个二进制的延迟相比,它是一个孤立点。这样,本公开的示例实施例能够通过使用延迟阈值和百分位数值来识别孤立点。
图4示出了用于识别数据存储网络中的延迟因素的示例方法。该方法开始于401,其中使用数据延迟度量的总和以及平均值来创建工作负载指纹模型。该方法继续到402,其中创建标记的点数据结构,其中数据结构的每个点表示各种大小的I/O的数量分布为固定大小的桶,然后该分布由直方图数据表示。直方图数据可以包括附加因素(如上所述),诸如I/O读取/写入比率、高速缓存命中百分比等。该方法继续到403,其中诸如k均值或高斯聚类算法的聚类算法在标记的点数据结构上运行,其中将簇大小设置为例如8,以产生表示工作负载指纹的工作负载类型的8个簇。在404中,该方法可以为每个识别的簇或工作负载类型识别高延迟的阈值,并生成对应的延迟表。方法框401-404可用于生成历史或训练数据,即工作负载指纹,用于分析输入数据以识别数据存储网络中的延迟问题。
在405中,该方法在采样时间周期上监视要分析的数据流的输入的样本/标记的点,并将标记的点分类为簇、工作负载指纹和/或工作负载类型。在406中,基于延迟表使用记录的延迟值将分数分配给要分析的输入数据。在407中,该方法将测量的延迟与被识别为延迟的贡献者的观察值(和其他因素)相关联,以创建用于识别导致数据存储网络延迟的因素的延迟分数图表。因此,在406和407中,该方法将要分析的数据流的测量的度量与记录的历史或训练数据(历史工作负载指纹)进行比较,以识别在数据存储网络中导致或引起延迟的因素。从特定存储设备或网络捕获的数据可以通过上述方法周期性地运行,并且具有根据400-407分类和评分的每次迭代或观察。然后,使用这些分数来识别“红色”、“黄色”和“绿色”的代表性周期,其使用性能作为指示符来指示系统的健康,其中可以将平均分数1-4归类为“黄色”,将4-7归类为“红色”,将7-10归类为“紫红色”,如图5所示。5分钟间隔的粒度的观察值可以被累积并按小时水平取平均,然后可以根据用户的需要按日和周水平被累积。因此,本公开的示例实施例能够使用各种测试或采样间隔(包括按分钟、每小时、每天、每周、每月等)为数据存储网络提供性能分数。
在数据存储网络中,当存储系统承受工作负载比其设计的或比其大小更大的工作负载时,几乎总会导致性能问题。然而,还存在相当大百分比的场景,其中数据存储网络中的性能问题是由于错误配置的系统或数据存储网络操作软件中的故障(bug)而导致的。本公开的示例实施例识别数据存储网络中的异常,该异常指示数据存储网络管理软件中存在错误配置或故障。
本公开的示例实施例可以使用统计方法来识别数据存储网络延迟度量中的孤立点或异常。用于识别孤立点的统计方法可以是绝对偏差数学运算。类似地,中值绝对偏差(MAD)的统计操作可用于识别由在存储系统中形成逻辑构造的对象组报告的数据存储网络延迟度量中的孤立点或异常。示例逻辑构造包括卷(volume)、磁盘、磁盘端口、CPU核等。本公开的示例实施例可以检测由组中的任何一个报告的度量中是否存在孤立点。在统计中,中值绝对偏差是定量数据的单变量样本的可变性的测量值。对于单变量数据集X1,X2,...,Xn,MAD被定义为数据中值的绝对偏差的中值:MAD=median(|Xi-median(X)|),因此,从数据中值的残差(偏差)开始,MAD将产生数据集的绝对值的中值。本公开的示例实施例报告MAD值、超过MAD值的三倍的样本(其是所寻求的孤立点)的数量以及孤立点的中值。如果逻辑构造中的对象组同等地共享负载,则通常不存在孤立点,但是如果对象组中的对象中的一个比其他对象更饱和,则较高的孤立点计数和孤立点的中值将提供使用MAD的数据指示,即逻辑构造由于错误配置或由孤立点识别的软件故障而具有不平衡。图6中示出了图示构造(即本示例中的CPU组)的MAD运算、孤立点和中值的结果的图表。
本公开的示例实施例可以生成通过使用MAD检测到的异常的概要,并且可以针对感兴趣的周期针对数据存储网络的性能图表报告该概要。异常通常会出现在整个感兴趣周期的所有样本时间观察值上,因此在摘要中报告每个样本的孤立点的平均百分比和平均中值,以提供孤立点对性能的影响的概述。对于特定的感兴趣周期,中值在0-1范围内被归一化,以便直接基于直观阈值对它们进行评分或标签。作为示例,对于异常,可将“中等”的分数/标签分配给1-4之间的归一化中值,可将“高”的分数/标签分配给4-7的归一化中值,而可将“非常高”的分数/标签分配给7-10的归一化中值,如图6所示。每个样本观察值可以具有孤立点的不同影响,并且本公开的方法或软件使用中值作为分数来区分影响因素并且通过使用例如延迟图表上的各种阴影或颜色来可视化差异,如图7所示。在图表上的每个可见样本观察值上显示孤立点的百分比,以用于管理和维护数据存储网络。
本公开的示例实施例可以从图6中的表、基于数据是高、中等还是正常来分析数据,以生成图7中的异常表示图表。异常图表为用户提供了调出工具,该调出工具可以允许鼠标悬停以显示对应的异常原因和关联的度量。图7中所示的分数可以被认为是孤立点的百分比。当用户查看该信息时,他们会在图表中的例如等于五和六的时间处看到峰值。在五和六的时间处,在延迟中存在尖峰,并且阴影向用户指示,与其他区域相比,在该区域期间异常对孤立点的影响非常高。这为用户提供了对特定组件或软件级别的性能故障排除的下一方面的指示,因为在五和六的时间处的延迟高并且在该周期期间异常的主要影响是CPU分数。在没有图7的图形表示的情况下,用户必须通过相关性查看系统在每个不同时间点记录的工作矩阵,手动查找孤立点,并手动尝试将孤立点与原因因素相关联,这可能花费很长的时间才能完成。
图14示出了用于识别可有助于数据存储网络中的延迟性能的数据存储网络延迟度量中的孤立点的示例方法。该方法开始于1401,其中捕获数据存储网络度量。度量通常由数据存储网络中的各个驱动器记录,例如,由驱动器处存在的管理软件记录。度量也可以由各个驱动器外部的其他设备、传感器或处理器并且通过各种网络或云(例如,远程计算系统)捕获。用于确定异常的示例度量可以包括延迟时间,卷的数量或类型,磁盘的数量或类型,磁盘端口的数量或类型及它们的使用百分比、CPU分数、应用程序工作负载等。一旦捕获到数据存储网络度量,该方法就可以继续到1402,其中识别高延迟周期。识别高延迟周期的过程可以通过本文提到的任何方法完成,诸如参考图4描述的示例方法。
在1403中,可以将统计偏差算法(诸如MAD)应用于所识别的高延迟的周期周围的数据存储网络延迟度量。应用MAD操作以统计地识别由数据存储网络和/或数据存储网络中的各个驱动器报告的度量中的孤立点。在另一示例中,应用MAD操作以统计地识别在数据存储网络系统中形成构造的对象组中的孤立点。一旦应用了统计偏差算法,该方法就继续到1404,其中识别超过计算的统计偏差的3倍的所有样本。例如,在1404中,具有等于或大于统计地计算的MAD值的3倍的值的所有样本被识别为数据集中的孤立点。在1405中,计算被识别为等于或大于MAD的3倍的样本(其是数据中的孤立点)的中值。
如上所述,当在数据存储网络中平等地共享负载时,将没有识别出的任何孤立点,因为所有数据样本将产生小于统计偏差的3倍的MAD。然而,当对象组中的一个对象比其他对象更饱和时,则根据统计偏差的孤立点计数以及计算的孤立点计数的中值提供了逻辑构造可能由于错误配置或者软件故障而具有不平衡的指示。因此,如关于图6中所示的孤立点表所讨论的,在步骤1406中,该方法可以可选地生成在度量中检测到的异常的概要表,并且针对感兴趣的样本间隔或周期报告该数据与性能的关系,以向数据存储网络管理员示出该比较。概要表可以包括孤立点的计算的分数或严重的等级,如图6表的右栏所示,如正常、中等、高、非常高等。此表对于数据存储网络管理员对异常相关性和重要性进行可视化是有用的。该方法继续到步骤1407,其中在0-1的范围内对在样本持续时间期间计算的中值进行归一化。该归一化允许示例方法基于预定阈值对值进行评分或标签,该值可以是正常的、中等的、高的和非常高的,如上面在图6中关于归一化的讨论中所述。
图11示出了用于识别数据存储网络中的延迟异常的示例方法。在1101中,该方法包括在数据存储网络安装基础之上从数据捕获训练或生成延迟度量的机器学习模型。在1102中,该方法针对训练的度量创建训练的工作负载指纹模型,如上所述。训练的工作负载指纹模型表示数据存储网络安装基础的延迟特性。此外,如上所述,还可以生成与工作负载指纹模型对应的延迟表。在1103中,将训练的工作负载指纹模型合并到存储设备中,打包并随各个存储设备的存储管理或控制软件一起提供。可替代地,可将训练的工作负载指纹模型合并到数据存储设备管理计算机、服务器、网络或用于管理到和来自数据存储设备的通信的其他设备或系统中。在1104中,管理软件分析来自与管理软件相关联的存储设备或系统的实时或最近的本地样本数据,并将样本数据分类到训练的工作负载指纹模型中的一个中。在1105中,管理软件可以以预定间隔(诸如每分钟或每五分钟)连续地从存储设备轮询数据,其中轮询:包括轮询如由系统在采样间隔期间服务的不同类型的I/O的系统记录的数据,并将轮询的数据分类到训练的工作负载指纹模型中。
在1106中,将当前I/O的分类数据或指纹模型与延迟的百分比分数相关联,其也可以作为随被分析的存储设备的管理软件一起提供的软件控制方法的一部分被包括,并且因此,这种关联可以在管理软件中本地进行。在1107中,该方法确定存储设备在特定时间点报告的延迟,并且利用与工作负载指纹模型一起生成的延迟表对该延迟进行评分。在1108中,一旦识别出系统正在经历延迟问题,该方法就通过凭借延迟分数图表识别贡献因素来继续打破延迟问题。在1109中,一旦识别出导致延迟的因素,该方法就识别异常,诸如CPU核分配工作负载的方式不平衡或后端端口如何分配工作负载。在1110中,该方法可以将该信息编译到健康图表中以呈现给用户。
本公开的示例实施例可以使用本文已描述的方法的部分来预测未来数据存储网络工作负载模式和高延迟的周期。本公开的示例实施例被配置为将数据中心工作负载分类为工作负载模式或工作负载指纹,其可以与历史模式或指纹进行比较以识别异常。使用历史工作负载指纹数据的本公开的示例实施例还可以预计和预测哪些特定的未来时间周期可能由特定工作负载指纹支配。为了实现该预测,本公开的示例实施例首先通过工作负载值来近似工作负载指纹,工作负载值是准备在其上运行的时间序列分析的连续随机变量。本公开的示例实施例可以使用主成分分析(PCA)来将沿着第一主成分的标记的点的投射确定为标记的点的近似,并且因此确定为工作负载指纹的近似,即“工作负载值”。PCA模型通常使用来自整个安装基础上的若干个系统的样本在云中进行训练,然后部署在本地存储管理软件中以执行预测功能。
本公开的示例实施例使用PCA来生成工作负载指纹的近似。例如,工作负载指纹可以是十六维向量,其中向量的前十四个分量可以表示描述在采样周期期间记录的特定大小的I/O数量的二进制/桶,即512b、1k、2k、4k、8k、16k、32k、64k、128k、256k、512k、1m、2m和4m。十六维向量的第十五分量和第十六分量可以表示读取/写入和高速缓存命中百分比。以下是示例数据向量表示:
2017-11-15 01:30:00 125343 175025 38860 418705 1097010 379141
69739 164494 592364 217616 531677 203831 0 0 6.5 35
2017-11-15 1:35:00 212623 193538 48574 668882 1448122 445723
152965 191030 793793 301458 209243 85818 0 0 5.7 32
示例向量数据显示,例如,在2017-11-15的01:30:00,有大小为1k(1024字节)的175025个I/O(即,由向量的第二分量中的数据“175025”表示)并且记录了16k的379141个I/O(即,由向量的第五分量中的数据“379141”表示)。读取次数与写入次数之比为6.5(即,由向量的第十五分量中的数据“6.5”表示),并且35%的I/O由高速缓冲存储器提供(即由向量的第十六分量中的数据“35”表示)。示例向量数据表示示出了可以在代表性数据存储网络向量中使用的多个示例参数,然而,向量可以包括与数据存储网络延迟相关的任何参数,并且这里描述的示例实施例不限于示例矢量中示出的参数。本公开可以将该十六分量向量近似为由称为“工作负载值”的变量表示的数值。这是使用PCA完成的,PCA通常通过以优化低维表示中的数据的方差的方式将数据线性映射到较低维空间来将工作负载指纹向量的维度从16减小到1。
在数学中,降维是通过获得一组主要变量来减少所考虑的随机变量的数量的过程。降维通常属于特征选择或特征提取方法。特征选择方法基于找到被称为特征或属性的原始变量的子集。特征提取方法基于将多维空间中的数据变换为更少维度的空间。PCA是一种可用于将工作负载指纹降低到单维工作负载值的线性特征提取方法。预期其他线性和非线性降维技术用于将工作负载指纹向量降低到工作负载值。
在示例实施例中,PCA降维可以是本公开的示例实施例在云中训练的线性变换函数。然后,示例实施例可以使用来自社区的样本来学习或确定线性变换函数应该是什么样的,例如,用于降维的PCA完成什么。可以将线性变换函数打包到用于各个数据存储元件或数据存储元件组的管理软件的代码中,然后将其用于实时预测(变换样本并预测工作负载值)以用于被管理的数据存储阵列。
在本公开的示例实施例中,每个时间样本具有对应的“工作负载值”的时间序列数据用于研究周期性。发明人已经发现,在本领域中研究的超过40%的存储阵列具有一天的周期性,并且在本领域中超过75%的存储系统展现出某种形式的周期性(每小时、每天、每周等),如在图8的示例周期表中示出。数据存储阵列的工作负载中存在周期性指示可以在工作负载发生之前可靠地预计和预测将受到存储阵列影响的工作负载,即用于延迟、工作负载等的前瞻性预测数据存储系统度量。
为了提供这种可预测性,本公开的示例实施例对存储阵列的当前度量使用PCA模型和k均值模型(本文讨论的工作负载指纹模型),该度量实时用于生成和分配当前工作负载指纹。该当前工作负载指纹再次表示数据样本所属的簇,并且可以存在任何数量的簇,然而,发明人已经发现使用八个簇产生数据存储网络数据分析的最佳结果。本公开的方法和软件还使用PCA和k均值来生成从数据样本投射到第一主成分上的对应的工作负载值,其表示工作负载指纹的近似。
图9示出了分配到相等大小的二进制中的工作负载值和实际对应的工作负载指纹的示例表。图9中的表的数据是通过一组120个类似存储系统的研究来生成的。图9的表示出了如果工作负载值在0和1之间,则它最可能属于标签零,即,工作负载指纹零具有62%的概率。使用该信息,本公开的方法或软件可以预测从我们的特定工作负载指纹的延迟表中已知的预期延迟,例如,工作负载指纹零的预期延迟<2.1ms,如图9的延迟概率表和图2的延迟表所示。
因此,本公开的示例实施例能够基于训练样本的工作负载值使用时间序列模型来预测数据存储网络的未来工作负载。因此,在上面提到的示例中,该方法或软件能够假设时间t1和t2之间的延迟被预期为<2.1ms的概率为62%。当用于数据存储网络的管理软件有机会在与期望预测范围相比的合理周期上观察数据存储网络行为时,最容易构建可靠的延迟概率表。例如,如果希望从现在开始预测2天的延迟,则为了支持准确预测而应收集数据的周期性是数据存储网络的预期周期性的至少三到五倍。因此,每个分类的样本数量是确定概率值是否准确并且是否可用于预测延迟值的重要参数。类似地,在合理的时间周期上观察到的实际延迟值(通常为正常操作的两周或更多周)也用于预测未来特定间隔期间的可能延迟。在图10中,该值沿着相同间隔期间的预期延迟并排显示,注意到可能和预期延迟之间的大偏差清楚地指示需要进一步调查的系统行为并且可能还需要支持干预。
图12示出了用于预测未来数据存储网络工作负载模式和高延迟的周期的示例方法。示例方法可以开始于1201,其中训练表示网络的I/O的延迟数据模型。预期训练数据持续时间是系统周期的5-10倍,以便生成准确的延迟预测结果。训练通常包括将样本分类为工作负载指纹,如在1202中所示,并确定每个工作负载指纹的对应工作负载值,如在1203中所示。此外,训练可以包括确定给定工作负载值的工作负载指纹的概率,如在1204中所示。该训练数据表示用于支持预测未来数据存储网络工作负载模式和延迟的历史或基线延迟信息。此外,该训练数据可以通过将数据实施到各个驱动器的管理软件中或者实施到被配置为控制多个网络存储驱动器的管理或控制器软件中来与各个数据存储网络驱动器一起打包和传输。一旦包含训练模型的软件与驱动器一起打包,该方法就继续监视I/O的数据流并捕获当前样本度量和用于分析的数据,如在1205中所示。在1206中,该方法预测对应于当前样本的工作负载指纹。在1207中,计算与工作负载指纹对应的工作负载值。在1208中,该方法基于工作负载值和时间序列数据继续预测未来的延迟。预测可以使用ARIMA模型,ARIMA模型是时间序列预测的统计方法,也称为自回归积分滑动平均。ARIMA是捕获时间序列数据中的一套不同的标准时间结构的一类模型。
图13示出了用于实现本公开的示例实施例的示例硬件配置1300。硬件配置1300包括多个数据存储设备1301,其中每个数据存储设备1301可以包括并入其中的管理软件1302。管理软件可以包括本地处理器,该本地处理器被配置为根据在其上运行的预定计算机程序来控制数据存储设备1301的操作。计算机程序可以存储在计算机可读介质上,并且包含要由存储设备1301中的处理器执行以控制存储设备1301的操作的指令。多个数据存储设备1301可以连接在一起以形成阵列、存储系统或数据存储网络,其可以与数据存储网络计算机或服务器控制器1303通信。管理软件可以存在于驱动器、阵列或数据存储系统级别。控制器1303可以与云1304通信,云1304可以与多个其他设备、计算机、服务器或其他计算机处理或数据存储元件通信。可以与云1304通信的一个示例设备可以是数据中心管理计算机或服务器1305,其可以由数据存储元件1301的制造商用于与数据存储元件1301通信以从存储设备1301中获取与存储设备1301的延迟或其他参数或度量有关的数据或度量。云1304还可以与其他服务器1306或数据存储元件1307通信,其可以共同定义附加数据存储网络。
位于数据存储元件1301、服务器控制器1303或管理计算机1305中的计算机处理器可用于执行被配置为分析数据存储设备1301、1307的性能的计算机程序指令。关于存储设备1301,管理软件1300通常与存储设备1301的制造商相关联。这样,管理软件1302可以与管理计算机或服务器1305通信,两者在它们之间共享数据或控制信息。示出数据存储元件1307而不包括其中的管理软件,其表示那些数据存储设备1307上的管理软件不与管理计算机或服务器1305通信,因为数据存储设备1307可能来自不同的制造商,而不是管理计算机或服务器1305的所有者或操作者。这样,在本公开的示例实施例中,其中数据存储网络的性能与本公开的性能评估软件或方法无关,则该方法是软件,本公开必须从管理软件1300之外的来源获得数据延迟度量信息,并且数据延迟度量信息存在于与管理计算机服务器1305相关联的存储设备中。因此,本公开的示例方法和软件可以利用云1304、数据存储网络控制服务器1006或本地安装在数据存储网络上的应用程序来监视数据存储网络中的I/O请求并且将延迟度量报告回用于评估的本公开的软件方法。因此,本公开的示例允许本公开的方法或软件评估包含外部数据存储元件或驱动器的数据存储网络的延迟性能。
本公开的示例实施例可应用于各种不同类型的数据网络和配置,诸如SAN、WAN、LAN和涉及服务器或处理单元与连接到其的一个或多个数据存储元件通信的其他类型的网络配置。本公开的示例实施例还可以应用于主机或互连的主机网络。
本公开中呈现的方面可以体现为系统、方法或计算机程序产品。因此,本文公开的各方面可以采取全部硬件实施例、全部软件实施例(包括固件、驻留软件、微代码等)、或在本文中可全部通常被称为“电路”、“模块”或“系统”的结合软件和硬件方面的实施例的形式。此外,本文公开的方面可以采取体现在一个或多个非暂时性计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有体现在其上的计算机可读程序代码。可使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。在本公开的上下文中,计算机可读存储介质可以是可包含或存储由指令执行系统、装置、模块或设备使用或与指令执行系统、装置、模块或设备结合使用的数据或程序产品的任何有形的非暂时性介质。在非暂时性计算机可读介质上体现的程序代码可以使用任何适当的介质被传输,包括但不限于无线、有线、光纤电缆、RF等,或其任何合适的组合。
用于执行本文公开的方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,包括诸如Java、Smalltalk、C++等的面向对象的编程语言或诸如C+、C#、Objective C、汇编、Ruby、Python、PHP和SQL的过程式编程语言。根据本公开的示例实施例,程序代码可以在任何处理器上执行,无论是本地的、远程的还是在云中,以控制或分析数据。
以上参考根据本文公开的实施例的方法、装置(系统)和计算机程序产品的流程图图示或框图描述了本公开中呈现的方面。将理解,流程图图示或框图中的每个框以及流程图图示或框图中的框的组合可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令实现流程图或框图中指定的功能。
可以通过云计算基础设施向终端用户提供本文公开的示例实施例。云计算通常是指将可扩展计算资源作为网络上的服务提供。更正式地,云计算可以被定义为提供计算资源与其底层技术架构(例如,服务器、存储、网络)之间的抽象的计算能力,从而能够方便地按需对可配置计算资源的共享池进行网络访问,该可配置计算资源可以以最少的管理工作或服务提供商交互被快速提供和发布。因此,云计算允许用户访问“云”中的虚拟计算资源(例如,存储、数据、应用程序,甚至完整的虚拟化计算系统),而不考虑用于提供计算资源的底层物理系统(或那些系统的位置)。
在前文中,参考了本公开的示例实施例,然而,本公开的范围不限于特定描述的实施例。而是,预期上述特征、元件或功能的任何组合,无论是否与不同的示例相关,都可以实现和实践本公开的实施例。此外,尽管本文公开的实施例可以实现优于其他可能的解决方案或优于现有技术的优点,但是否通过给定实施例实现特定优点并不限制本公开的范围。因此,先前的方面、特征、实施例和优点仅仅是说明性的,并且不被认为是所附权利要求的要素或限制,除非在权利要求中明确地陈述。此外,如本文所使用的,诸如前、后,顶部、底部、上、下等的方向或取向术语不意味着限制,而仅仅反映各个实施例的取向,如它们在附图中出现的。应当理解,用于指定每个实施例的命名法可以根据使用中的实施例的空间取向而互换。
虽然前述内容针对本公开中呈现的实施例,但是可以在不脱离预期实施例的基本范围的情况下设计其他和进一步的实施例,并且本发明的范围由所附权利要求确定。
Claims (20)
1.一种用于识别指示数据存储网络中的错误配置或软件故障的异常的方法,包括:
捕获数据存储网络延迟度量;
识别所捕获的延迟度量中的高延迟的周期;
将统计中值绝对值偏差操作应用于所识别的高延迟的周期中的延迟度量;
识别统计偏差延迟度量中的孤立点;
计算所识别的孤立点的中值;
对所识别的孤立点的所述中值进行归一化;以及
对所识别的孤立点的归一化中值进行评分。
2.如权利要求1所述的方法,其中,捕获数据存储网络延迟度量包括:在本地数据存储网络元件处定位驱动器管理软件以及在本地或驱动器级别捕获所述数据存储网络延迟度量。
3.如权利要求1所述的方法,其中,捕获数据存储网络延迟度量包括:监视数据存储网络或数据存储网络驱动器的工作负载以提取所述数据存储网络延迟度量,其中所述监视是使用所述数据存储网络中的驱动器本地的传感器,远程地通过数据或云网络完成的。
4.如权利要求1所述的方法,其中,所述数据存储网络延迟度量包括记录的I/O计数、读取/写入比率、高速缓存命中百分比、CPU使用率、CPU饱和度、高速缓存饱和度、后端磁盘饱和度、磁盘端口饱和度、前端端口饱和度、队列深度、I/O大小、高速缓存未命中、CPU忙和高速缓存命中/未命中中的至少两个。
5.如权利要求4所述的方法,其中,识别所述统计偏差延迟度量中的孤立点包括:识别具有大于或等于所计算的统计中值绝对值偏差的三倍的值的所有样本。
6.如权利要求1所述的方法,其中,识别所捕获的延迟度量中的高延迟的周期包括:绘制延迟百分位数的图并识别所述图中的斜率从基本水平改变为基本垂直的点。
7.如权利要求6所述的方法,其中,在所述图中的所述斜率改变为基本垂直的点上方的数据点被识别为高延迟点。
8.一种非暂时性计算机可读介质,包括存储在所述非暂时性计算机可读介质上的计算机可执行指令,所述计算机可执行指令在由处理器执行时使得所述处理器执行识别指示数据存储网络中的错误配置或软件故障的异常的方法,包括:
捕获数据存储网络延迟度量;
识别所捕获的延迟度量中的高延迟的周期;
将统计中值绝对值偏差操作应用于所识别的高延迟的所述周期中的所述延迟度量;
识别统计偏差延迟度量中的孤立点;
计算所识别的孤立点的中值;
对所识别的孤立点的所述中值进行归一化;以及
对所识别的孤立点的归一化中值进行评分。
9.如权利要求8所述的非暂时性计算机可读介质,其中,捕获数据存储网络延迟度量包括:在本地数据存储网络元件处定位驱动器管理软件以及在本地或驱动器级别捕获所述数据存储网络延迟度量。
10.如权利要求8所述的非暂时性计算机可读介质,其中,捕获数据存储网络延迟度量包括:监视数据存储网络或数据存储网络驱动器的工作负载以提取所述数据存储网络延迟度量,其中所述监视是远程地通过数据或云网络完成的。
11.如权利要求8所述的非暂时性计算机可读介质,其中,所述数据存储网络延迟度量包括记录的I/O计数、读取/写入比率、高速缓存命中百分比和CPU使用率。
12.如权利要求11所述的非暂时性计算机可读介质,其中,识别统计偏差延迟度量中的孤立点包括:识别具有大于所计算的统计中值绝对值的三倍的值的所有样本。
13.如权利要求8所述的非暂时性计算机可读介质,其中,识别所捕获的延迟度量中的高延迟的周期包括:绘制延迟百分位数的图并识别所述图中斜率从基本水平改变为基本垂直的点。
14.如权利要求13所述的非暂时性计算机可读介质,其中,在所述图中的所述斜率改变为基本垂直的点上方的数据点被识别为高延迟点。
15.一种用于识别指示数据存储网络中的错误配置或软件故障的异常的方法,包括:
使用所述数据存储网络的驱动器本地的管理软件捕获数据存储网络延迟度量;
通过网络将所述数据存储网络延迟度量传输到远程计算机;以及
处理所述远程计算机中的所述延迟度量以识别高延迟的周期,将统计中值绝对偏差应用于所述延迟度量,在应用所述中值绝对偏差之后识别所述延迟度量中的孤立点,计算所识别的孤立点的中值,对所识别的孤立点的所述中值进行归一化,并对所识别的孤立点的归一化中值进行评分。
16.如权利要求15所述的方法,其中,识别所述延迟度量中的孤立点包括:识别具有大于或等于所计算的统计中值绝对值的三倍的值的所有样本。
17.如权利要求15所述的方法,其中,识别高延迟的周期包括:绘制延迟对时间的图,并且识别所述图中的斜率从基本水平改变为基本垂直的点。
18.如权利要求17所述的方法,其中,在所述图中的所述斜率改变为基本垂直的点上方的数据点被识别为高延迟点。
19.一种用于识别指示数据存储网络中的错误配置或软件故障的异常的系统,包括:
与数据存储元件通信的处理器;以及
与所述处理器通信的存储器,所述存储器包含计算机程序指令,所述计算机程序指令在由所述处理器执行时使所述处理器捕获数据存储网络延迟度量,识别高延迟的周期,将统计中值绝对值操作应用于所识别的高延迟的所述周期中的所述延迟度量,识别统计偏差延迟度量中的孤立点,计算所识别的孤立点的中值,对所识别的孤立点的所述中值进行归一化,并且对所识别的孤立点的归一化中值进行评分。
20.如权利要求19所述的系统,其中,所述处理器位于所述数据存储元件处或位于服务器控制器计算机处。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201841016318 | 2018-04-30 | ||
IN201841016318 | 2018-04-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110417610A true CN110417610A (zh) | 2019-11-05 |
Family
ID=68293062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910307966.2A Pending CN110417610A (zh) | 2018-04-30 | 2019-04-17 | 存储系统延迟孤立点检测 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11070455B2 (zh) |
CN (1) | CN110417610A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131606A (zh) * | 2020-09-24 | 2020-12-25 | 合肥城市云数据中心股份有限公司 | 一种基于K-means++结合肘部法自主聚类技术的动态数据差分隐私直方图发布方法 |
CN115514996A (zh) * | 2021-06-22 | 2022-12-23 | 武汉斗鱼鱼乐网络科技有限公司 | 一种直播转码机器的状态确定方法及装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9280791B2 (en) * | 2012-12-20 | 2016-03-08 | Trading Technologies International, Inc. | Systems and methods for routing trade orders based on exchange latency |
US10819584B2 (en) | 2018-05-03 | 2020-10-27 | Servicenow, Inc. | System and method for performing actions based on future predicted metric values generated from time-series data |
US10922118B2 (en) * | 2018-05-11 | 2021-02-16 | International Business Machines Corporation | Distributed container image repository service |
US10997009B2 (en) * | 2018-12-10 | 2021-05-04 | Vmware, Inc. | Methods and systems that detect and classify incidents and anomalous behavior using metric-data observations |
US11449749B2 (en) * | 2019-02-01 | 2022-09-20 | EMC IP Holding Company LLC | Issuing alerts for storage volumes using machine learning |
US11481117B2 (en) | 2019-06-17 | 2022-10-25 | Hewlett Packard Enterprise Development Lp | Storage volume clustering based on workload fingerprints |
US11320986B2 (en) * | 2020-01-20 | 2022-05-03 | Dell Products, L.P. | Method and apparatus for estimating a distribution of response times of a storage system for a proposed workload |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354316A (zh) * | 2007-07-27 | 2009-01-28 | 通用电气公司 | 快速异常检测方法 |
CN101354317A (zh) * | 2007-07-27 | 2009-01-28 | 通用电气公司 | 异常聚合方法 |
CN103018177A (zh) * | 2012-12-06 | 2013-04-03 | 江苏易谱恒科技有限公司 | 基于随机采样一致集的谱图异常样本点检测方法 |
US20160359592A1 (en) * | 2015-06-05 | 2016-12-08 | Cisco Technology, Inc. | Techniques for determining network anomalies in data center networks |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070060769A1 (en) | 2003-06-16 | 2007-03-15 | The University Of Southern Mississippi Research Foundation | Integrated process to produce derivatives of butadiene addition products |
US7493439B2 (en) | 2006-08-01 | 2009-02-17 | International Business Machines Corporation | Systems and methods for providing performance monitoring in a memory system |
US7917810B2 (en) | 2007-10-17 | 2011-03-29 | Datadirect Networks, Inc. | Method for detecting problematic disk drives and disk channels in a RAID memory system based on command processing latency |
US8190939B2 (en) | 2009-06-26 | 2012-05-29 | Microsoft Corporation | Reducing power consumption of computing devices by forecasting computing performance needs |
US8935500B1 (en) * | 2009-09-24 | 2015-01-13 | Vmware, Inc. | Distributed storage resource scheduler and load balancer |
US8914598B2 (en) | 2009-09-24 | 2014-12-16 | Vmware, Inc. | Distributed storage resource scheduler and load balancer |
US9361955B2 (en) | 2010-01-28 | 2016-06-07 | Hewlett Packard Enterprise Development Lp | Memory access methods and apparatus |
US20170206107A1 (en) | 2012-02-14 | 2017-07-20 | Aloke Guha | Systems And Methods For Provisioning Of Storage For Virtualized Applications |
US9135191B1 (en) | 2012-06-15 | 2015-09-15 | Symantec Corporation | Techniques for storage network bandwidth management |
US9628499B1 (en) * | 2012-08-08 | 2017-04-18 | Google Inc. | Statistics-based anomaly detection |
US9104572B1 (en) | 2013-02-11 | 2015-08-11 | Amazon Technologies, Inc. | Automated root cause analysis |
US10534805B2 (en) | 2013-02-28 | 2020-01-14 | Netapp, Inc. | Workload identification |
US9069819B1 (en) | 2013-04-26 | 2015-06-30 | Symantec Corporation | Method and apparatus for reliable I/O performance anomaly detection in datacenter |
US8832330B1 (en) | 2013-05-23 | 2014-09-09 | Nimble Storage, Inc. | Analysis of storage system latency by correlating activity of storage system components with latency measurements |
US10382979B2 (en) * | 2014-12-09 | 2019-08-13 | Futurewei Technologies, Inc. | Self-learning, adaptive approach for intelligent analytics-assisted self-organizing-networks (SONs) |
US10142353B2 (en) * | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US9772794B2 (en) | 2015-06-05 | 2017-09-26 | University Of Florida Research Foundation, Incorporated | Method and apparatus for big data cloud storage resource management |
US9575828B2 (en) | 2015-07-08 | 2017-02-21 | Cisco Technology, Inc. | Correctly identifying potential anomalies in a distributed storage system |
WO2017011708A1 (en) | 2015-07-14 | 2017-01-19 | Sios Technology Corporation | Apparatus and method of leveraging machine learning principals for root cause analysis and remediation in computer environments |
US9594515B2 (en) | 2015-07-22 | 2017-03-14 | Netapp, Inc. | Methods and systems using observation based techniques for determining performance capacity of a resource of a networked storage environment |
US9998346B2 (en) | 2015-09-25 | 2018-06-12 | Brocade Communications Systems LLC | Fabric latency determination |
NL2015680B1 (en) * | 2015-10-29 | 2017-05-31 | Opt/Net Consulting B V | Anomaly detection in a data stream. |
US10198339B2 (en) | 2016-05-16 | 2019-02-05 | Oracle International Corporation | Correlation-based analytic for time-series data |
US10664169B2 (en) | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
US10606657B2 (en) | 2016-07-07 | 2020-03-31 | Telefonaktiebolaget Lm Ericsson | Methods and modules relating to allocation of host machines |
US10034407B2 (en) | 2016-07-22 | 2018-07-24 | Intel Corporation | Storage sled for a data center |
US11632304B2 (en) * | 2016-10-31 | 2023-04-18 | Hewlett Packard Enterprise Development Lp | Methods and systems for characterizing computing system performance using peer-derived performance severity and symptom severity models |
US20180300338A1 (en) * | 2017-04-13 | 2018-10-18 | Sas Institute Inc. | Distributed high-cardinality data transformation system |
US10394631B2 (en) * | 2017-09-18 | 2019-08-27 | Callidus Software, Inc. | Anomaly detection and automated analysis using weighted directed graphs |
US11210158B2 (en) * | 2017-11-29 | 2021-12-28 | Riverbed Technology, Inc. | Automated problem diagnosis on logs using anomalous telemetry analysis |
US10558614B2 (en) * | 2018-01-31 | 2020-02-11 | Splunk Inc. | Network ingestion of multimodal multisource machine data to traffic regulated network storage volume |
US10705940B2 (en) * | 2018-09-28 | 2020-07-07 | EMC IP Holding Company LLC | System operational analytics using normalized likelihood scores |
-
2018
- 2018-07-13 US US16/034,567 patent/US11070455B2/en active Active
-
2019
- 2019-04-17 CN CN201910307966.2A patent/CN110417610A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354316A (zh) * | 2007-07-27 | 2009-01-28 | 通用电气公司 | 快速异常检测方法 |
CN101354317A (zh) * | 2007-07-27 | 2009-01-28 | 通用电气公司 | 异常聚合方法 |
CN103018177A (zh) * | 2012-12-06 | 2013-04-03 | 江苏易谱恒科技有限公司 | 基于随机采样一致集的谱图异常样本点检测方法 |
US20160359592A1 (en) * | 2015-06-05 | 2016-12-08 | Cisco Technology, Inc. | Techniques for determining network anomalies in data center networks |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131606A (zh) * | 2020-09-24 | 2020-12-25 | 合肥城市云数据中心股份有限公司 | 一种基于K-means++结合肘部法自主聚类技术的动态数据差分隐私直方图发布方法 |
CN115514996A (zh) * | 2021-06-22 | 2022-12-23 | 武汉斗鱼鱼乐网络科技有限公司 | 一种直播转码机器的状态确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11070455B2 (en) | 2021-07-20 |
US20190334802A1 (en) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110417610A (zh) | 存储系统延迟孤立点检测 | |
CN110417611A (zh) | 基于i/o模式的存储系统延迟评估 | |
US20190334786A1 (en) | Predicting Workload Patterns in a Data Storage Network | |
US11748227B2 (en) | Proactive information technology infrastructure management | |
CN104350471B (zh) | 在处理环境中实时地检测异常的方法和系统 | |
CN103354924B (zh) | 用于监视性能指标的方法和系统 | |
US6622221B1 (en) | Workload analyzer and optimizer integration | |
CN105677538A (zh) | 一种基于故障预测的云计算系统自适应监测方法 | |
US9317537B2 (en) | Database and method for evaluating data therefrom | |
CN107070692A (zh) | 一种基于大数据分析的云平台监控服务系统及方法 | |
US8874642B2 (en) | System and method for managing the performance of an enterprise application | |
CN111045894A (zh) | 数据库异常检测方法、装置、计算机设备和存储介质 | |
JP2023518771A (ja) | 機械学習に基づくデータ・モニタリング | |
CN104516808A (zh) | 数据预处理装置及方法 | |
CN112633542A (zh) | 系统性能指标预测方法、装置、服务器及存储介质 | |
CN106030565A (zh) | 使用搜索技术的计算机性能预测 | |
CN110703743A (zh) | 设备故障预测与检测系统和方法 | |
CN107656851A (zh) | 一种基于部件能耗模型的云服务器能耗测算方法及系统 | |
CN114365094A (zh) | 使用倒排索引的时序异常检测 | |
Chouliaras et al. | Real-time anomaly detection of NoSQL systems based on resource usage monitoring | |
CN116703303A (zh) | 基于多层感知机与rbf的仓储可视化监管系统及方法 | |
Samir et al. | Anomaly detection and analysis for reliability management clustered container architectures | |
CN110502424A (zh) | 一种应用软件的性能数据处理方法、装置、系统及终端 | |
US20220050814A1 (en) | Application performance data processing | |
US20220050761A1 (en) | Low overhead performance data collection |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191105 |