系统架构师性能知识整理

时间:2022-12-29 13:13:35 系统架构师 我要投稿
  • 相关推荐

系统架构师性能知识整理

  我们的知道,我们可以使用许多工具来帮助您收集和分析应用程序的性能数据,下面为大家整理了一些关于性能方面的知识,欢迎大家阅读!

系统架构师性能知识整理

  性能调整过程

  1)建立基准。在您开始针对性能调整应用程序时,您必须具有与性能目标、目标和度量标准有关的定义良好的基准。这可能包括应用程序工作集大小、加载数据(例如,目录)的时间、事务持续时间等等。

  2)收集数据。 您将需要通过针对您已经定义的性能目标度量应用程序的性能,来对应用程序性能进行评价。性能目标应该体现特定的且可度量的度量标准,以使您可以在任何时刻 量化应用程序的性能。要使您可以收集性能数据,您可能必须对应用程序进行规范,以便可以发布和收集必需的性能数据。下一节将详细讨论您可以用来完成这一工 作的一些选项。

  3)分析结果。 在收集应用程序的性能数据之后,您将能够通过确定哪些应用程序功能要求最多的关注,来区分性能调整工作的轻重缓急。此外,您可以使用该数据来确定任何性能 瓶颈的位置。通常,您将只能够通过收集更详细的性能数据来确定瓶颈的确切位置:例如,通过使用应用程序规范。性能分析工具可能帮助您识别瓶颈。

  4)调整应用程序。在已经识别瓶颈之后,您可能需要修改应用程序或其配置,以便尝试解决问题。您应该致力于将更改降低至最低限度,以便可以确定更改对应用程序性能的影响。如果您同时进行多项更改,可能难以确定每项更改对应用程序的总体性能的影响。

  5)测试和度量。 在更改应用程序或其配置之后,您应该再次测试它以确定更改具有的效果,并且使新的性能数据得以收集。性能工作通常要求进行体系结构或其他具有较高影响的更 改,因此彻底的测试是很关键的。您的应用程序测试计划应该针对预料到的所有情况,在配置了适当硬件和软件的客户计算机上演习应用程序所实现的完整范围的功 能。如果您的应用程序使用网络资源,则应该加载这些资源,以便您可以获得有关应用程序在此类环境中所具有的性能的准确度量。上述过程将使您可以通过针对特定目标度量应用程序的总体性能,来重点解决特定的性能问题。

  使用性能日志和警报

  性能日志和警报是作为 Windows 操作系统的一部分发行的一种管理性能监控工具。它依靠由各种 Windows 组件、子系统和应用程序发布的性能计数器,使您可以跟踪资源使用情况以及针对时间以图形方式绘制它们。您可以使用 Performance Logs and Alerts 来监控标准的性能计数器(例如,内存使用情况或处理器使用情况),或者您可以定义您自己的自定义计数器来监控应用程序特定的活动。.NET CLR 提供了许多有用的性能计数器,它们使您可以洞察应用程序性能的好坏。关系比较大的一些性能对象是:

  1).NET CLR 内存。提供有关托管 .NET 应用程序内存使用情况的数据,包括应用程序正在使用的内存数量以及对未使用的对象进行垃圾回收所花费的时间。

  2).NET CLR 加载。提供有关应用程序正在使用的类和应用程序域的数量的数据,并且提供有关它们的加载和卸载速率的数据。

  3).NET CLR 锁和线程。提供与应用程序内使用的线程有关的性能数据,包括线程个数以及试图同时对受保护的资源进行访问的线程之间的争用率。

  4).NET CLR 网络。提供与通过网络发送和接收数据有关的性能计数器,包括每秒发送和接收的字节数以及活动连接的个数。

  5).NET CLR 异常。提供有关应用程序所引发和捕获的异常个数的报告。

  您的应用程序还可以提供您可以通过使用性能日志和警报轻松监控的、应用程序特定的性能计数器。您可以像以下示例所显示的那样,定义自定义性能计数器:

  [C#]

  PerformanceCounter counter = new PerformanceCounter( "Category","CounterName", false );

  [Visual Basic .NET]

  Dim counter As New PerformanceCounter("Category", "CounterName", False)

  在创建性能计数器对象之后,您可以为您的自定义性能计数器指定类别,并将所有相关计数器保存在一起。PerformanceCounter 类在 System.Diagnostics 命名空间中定义,该命名空间中还定义了其他一些可用于读取和定义性能计数器和类别的类

【系统架构师性能知识整理】相关文章:

2017系统架构师知识整理05-15

系统架构师知识:高可用系统设计05-14

系统架构师知识:负载均衡05-14

系统架构师的知识和职责05-19

什么是系统架构师-如何成为系统架构师05-11

系统架构师概述06-03

Web系统架构的性能优化06-10

如何成为优秀的系统架构师08-30

系统架构师申请条件201706-16