性能指标的相关性分析的制作方法

文档序号:8472884阅读:1026来源:国知局
性能指标的相关性分析的制作方法
【技术领域】
[0001]本主题通常涉及多线程应用程序的性能测试,尤其涉及多线程应用程序的性能指标的相关性分析。
【背景技术】
[0002]多线程是众所周知的编程和执行模型。在多线程中,将应用程序分割成通常称为线程的多个并发执行流。这些线程各自一般包括用以执行诸如计算任务或输入/输出任务等的特定编程任务的指令序列和数据。尽管这些线程共用诸如CPU、存储器、10、网络等的资源,但也能够独立执行。
[0003]当前大多数企业应用程序是通过利用多个线程通常在不同的线程组内并发运行的多线程的概念来设计的。在这些情况下,这些线程将会导致通过手动追踪可能无法管理的性能问题的可能性高。由于修改相同资源的两个线程可能无意地彼此干涉,因此在应用程序中存在线程展开了与向着资源的安全访问有关的许多潜在问题。例如,一个线程可能覆写另一线程所进行的变化或者使该应用程序进入未知且可能无效的状态。这可能导致应用程序变慢甚至崩溃。因此,多线程应用程序的性能测试至关重要。

【发明内容】

[0004]一种针对性能指标的相关性的计算机实现的方法,所述方法包括以下步骤:基于目标应用程序在计算系统内的执行来收集所述性能指标;基于至少一个预定义参数来建立所述性能指标之间的相关性;以及生成所述性能指标的用于描述所述性能指标之间的所建立的相关性的统一界面。
[0005]一种用于性能指标的相关性分析的计算系统,所述计算系统包括:处理器;以及存储器,其连接至所述处理器,所述存储器包括:分析器代理,用于基于目标应用程序的执行来收集所述性能指标;相关性引擎,用于基于至少一个预定义参数来建立所述性能指标之间的相关性;以及图形控制器,用于生成所述性能指标的用于描述所述性能指标之间的所建立的相关性的统一界面。
[0006]一种具有计算机可执行指令的非瞬态计算机可读介质,所述计算机可执行指令在执行的情况下,实现针对性能指标的相关性的方法,所述方法包括以下步骤:基于目标应用程序在计算系统内的执行来收集所述性能指标;基于至少一个预定义参数来建立所述性能指标之间的相关性;以及生成所述性能指标的用于描述所述性能指标之间的所建立的相关性的统一界面。
【附图说明】
[0007]参考附图来进行详细说明。在附图中,附图标记最左边的数字标识了该附图标记首先出现的附图。在整个附图中使用相同的数字以参考相同的特征和组件。现在将仅通过示例的方式并且参考附图来说明根据本主题的实施例的系统和方法的一些实施例,其中:
[0008]图1示出根据本主题的实施例的用于性能指标的相关性分析的系统。
[0009]图2示出根据本主题的实施例的用于性能指标的相关性分析的系统的示例性系统架构。
[0010]图3a和3b示出根据本主题的实施例的相关性能指标的示例性统一界面。
[0011]图4示出根据本主题的实施例的用于性能指标的相关性分析的计算机实现方法。
【具体实施方式】
[0012]本主题涉及多线程应用程序的性能优化。在该上下文中,剖析(profiling)是为了性能优化的目的所进行的应用程序的动态分析的形式,并且可以使用被称为分析器(profiler)的自动工具来进行。该分析器基本根据在应用程序的执行期间所收集到的信息来产生应用程序的配置文件。该配置文件一般包括程序的行为特征,其中可以使用这些行为特征来将应用程序的一个或多个部分识别为性能优化的候选。例如,配置文件可能表示在执行特定应用程序方法时使用了过量的内存量。因此,为了优化的目的,可以集中于该特定应用程序方法。换句话说,配置文件辅助理解程序行为以便于优化工作的集中。
[0013]同样,在多线程应用程序中,可以进行线程剖析,以检查多线程应用程序中的线程的活动,解决死锁,并且例如以各种线程指标的形式获得与上述有关的详细信息。可以使用可用于识别多线程应用程序中的瓶颈的线程分析器来进行线程剖析。使用这种传统的线程分析器的多线程应用程序的线程剖析需要线程分析器将诸如线程的状态、死锁信息和一些跟踪信息等的各种线程指标详情提供给用户。在尝试测试多线程应用程序的性能的情况下,仅捕获这些线程指标有时可能不足以识别并解决线程相关瓶颈。这是因为,在发现线程在非常长的时间内处于等待状态或阻塞状态、或者所有线程长时间暂停的情况下,可以认为这可能是由于与应用程序或应用程序环境有关的几个其它因素所引起的。这些其它因素的示例包括但不限于1使用量、网络使用量、此时所涉及的应用程序方法等。因此,在所有这些因素以及与线程指标的某种互连均可用的情况下,可以全面地分析并优化线程中的性能相关瓶颈。
[0014]显然,由于传统系统仅通过按重复的时间间隔提供线程堆栈或线程指标来解决线程相关问题,因此传统系统无法提供这种互连。这样,仅向用户显示线程和死锁的详情。尽管以如表、图表等的各种格式向用户显示线程状态,然而这些线程状态没有提供线程与相关应用程序方法和如CPU、存储器、1等的资源之间的互连的详情。因而,传统系统无法提供性能指标的互连。
[0015]根据本主题的实现,说明了用于统一界面上的性能指标的相关性分析的方法和系统。在一个实施例中,收集各种性能指标。基于目标多线程应用程序在计算系统中的执行来收集这些性能指标。此外,可以基于诸如时间戳等的各种预定义参数中的至少一个参数来在性能指标之间建立相关性。此外,可以生成描述所建立的相关性、即性能指标之间的互连的性能指标的统一界面。此外,可以根据所建立的相关性来更新统一界面,从而使得用户能够观察所建立的相关性。
[0016]尽管传统方法和系统仅向用户显示各种指标,但本主题使得用户能够利用与如下的性能指标的相关性来使线程指标可视化,其中这些性能指标包括但不限于CPU、主动方法执行、线程详情、死锁详情、计数等。因而,用户能够获得线程、其性能及其对如CPU、存储器、网络或1那样的其它资源的影响的端到端的状况。此外,由于统一界面能够在突出显示如来自应用程序的主动方法、CPU、存储器、网络统计数据等的若干性能指标之间的相关性的同时显示与线程和死锁有关的若干其它指标,因此用户可以使用该统一界面来检测多线程应用程序中的性能问题。根据这些相关性,可以容易地检测到潜在的线程瓶颈。例如,如果检测到死锁,则使用相关性可以容易地检测到死锁中所涉及的主动方法和死锁线程中被锁定的资源,由此节省计算资源和时间。
[0017]以下的详细说明描述了用于性能指标的相关性分析的方法和系统。尽管可以以任意数量的不同计算系统、环境和/或结构来实现所述系统和方法的各方面,但在以下示例性系统和方法的上下文中说明了用于性能指标的相关性分析的方法和系统的实施例。
[0018]图1示出根据本主题的实施例的用于性能指标的相关性分析的系统100。此外,可以在计算系统上实现系统100。计算系统的示例可以包括但不限于台式计算机、便携式计算机、笔记本电脑、手持式装置、服务器和工作站。
[0019]系统100包括接口 102。此外,接口 102可以包括各种软件和硬件接口、例如图形用户界面(Gn)以及诸如产品板、鼠标、外部存储器、显示屏和打印机等的外围装置所用的接口。另外,接口 102可以使得系统100能够与诸如web服务器、网络服务器、数据库服务器和外部储存库等的其它装置进行通信。接口 102还可以便于在包括例如LAN和线缆等的有线网络以及诸如WLAN、蜂窝或卫星等的无线网络的很多种网络和协议类型内进行多个通信。为此,接口 102可以包括一个或多个相关端口。
[0020]系统100还包括连接至存储器106的处理器104。可以将处理器10
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1