软考-架构师-第五章-系统性能评价 第四节 性能评估(读书笔记)

版权声明:本文为博主原创文章,如需转载请在文章中注明“转载”并在文章开头附上本博客链接。 https://blog.csdn.net/soslinken/article/details/83008803

版权声明

主要针对希赛出版的架构师考试教程《系统架构设计师教程(第4版)》,作者“希赛教育软考学院”。完成相关的读书笔记以便后期自查,仅供个人学习使用,不得用于任何商业用途。

第四节 性能评估

性能评估是对一个系统进行各项检测,并形成一份直观的文档,因此性能评估是通过各项测试来完成的。评估的一个目的是为性能的优化提供参考,而性能优化涉及的面很广,也很复杂,而且永无止境。

基准测试程序

概念

把应用程序中用得最多、最频繁的那部分核心程序作为评价计算机性能的标准程序。

方法

整数测试程序(Dhrystone)

用 C 语言编写,100 条语句。包括:各种赋值语句,各种数据类型和数据区,各种控制语句,过程调用和参数传送,整数运算和逻辑操作。

VAX-11/780z 的测试结果为每秒 1757个 Dhrystones,即:

1 VAX MIPS=1757 Dhrystones/s

浮点测试程序(Linpack)

用 FORTRAN 语言编写,主要是浮点加法和浮点乘法操作。用MFPOPS(Million Floating Point Operations Per Second)表示 GFLOPS、 TFLOPS。

Whetstone 基准测试程序

用 FORTRAN 语言编写的综合性测试程序,主要包括:浮点运算、整数算术运算、功能调用、数组变址、条件转移、超越函数。测试结果用 Kwips 表示。

SPEC 基准测试程序

SPEC 基准测试程序(System Performance Evaluation Cooperative,系统性能评估联盟)由 30个左右世界知名计算机大厂商所支持的非盈利的合作组织,包括 IBM、AT&T、BULL、Compaq、CDC、DG、DEC、Fujitsu、HP、Intel、 MIPS、Motolola、SGI、SUN、Unisys 等;SPEC 能够全面反映机器的性能,具有很高的参考价值。SPEC 以 AX-11/780 的测试结果作为基数,当前主要的基准测试程序有 SPEC int_base_rate 2000、SPEC fp_base_rate 2000和 SPEC JBB 2000 等。还有基于某种数据库运行环境下的测试,也是可以参考的数值。在采用通用基准测试程序时,要注意真实的业务流程和使用环境与通用测试基准的业务流程和使用环境的异同,这样,基准测试值才有参考价值。

TPC 基准程序

TPC(Transaction Processing Council,事务处理委员会)成立于 1988年,已有 40 多个成员,用于评测计算机的事务处理、数据库处理、企业管理与决策支持等方面的性能。1989 年以来相继发表的 TPC 基准测试程序包括 TPC-A、TPC-B、TPC-C、TPC-D、TPC-H 和 TPC-W 等。其中 TPC-A 用于在线联机事务处理下更新密集的数据库环境下的性能测试,TPC-B 用于数据库系统及运行它的操作系统的核心性能测试, TPC-C 则用于在线联机事务处理测试,TPC-D 用于决策支持系统测试,TPC-H 是基于 TPC-D 基础上决策支持基准测试,还有 TPC-W 是用于电子商务应用软件测试。

TPC-C 是衡量 OLTP 系统的工业标准。它测试广泛的数据库功能,包括查询、更新和排队袖珍型批处理(mini-batch)事务。这一规范在关键领域十分严格,如数据库透明性和事务处理隔离性。许多 IT 专家把 TPC-C 作为“真实世界”OLTP 系统性能的一个很好的指示器。独立审核员认证基准测试(benchmark)的结果,TPC 还有全套的公开报告。

Linpack 测试

Linpack 是国际上最流行的用于测试高性能计算机系统浮点性能的测试。通过对高性能计算机采用高斯消元法求解一元 N 次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。

Linpack 测试包括三类,Linpack100、Linpack1000 和 HPL。Linpack100 求解规模为 100 阶的稠密线性代数方程组,它只允许采用编译优化选项进行优化,不得更改代码,甚至代码中的注释也不得修改。Linpack1000 要求求解 1000 阶的线性代数方程组,达到指定的精度要求,可以在不改变计算量的前提下做算法和代码上的优化。HPL 即 High Performance Linpack,也叫高度并行计算基准测试,它对数组大小 N没有限制,求解问题的规模可以改变,除基本算法(计算量)不可改变外,可以采用其他任何优化方法。前两种测试运行规模较小,已不太适合现代计算机的发展。

HPL 是针对现代并行计算机提出的测试方式。用户在不修改任意测试程序的基础上,可以调节问题规模的大小(矩阵大小)、使用 CPU 数目、使用各种优化方法等来执行该测试程序,以获取最佳的性能。HPL 采用高斯消元法求解线性方程组。求解问题规模为 N 时,浮点运算次数为
2 3 N 3 2 N 2 \frac {2} {3} * N ^3 - 2 * N^2
因此,只要给出问题规模 N,测得系统计算时间 T,峰值=计算量 / 计算时间,测试结果以浮点运算每秒(Flops)给出。HPL 测试结果是 TOP500 排名的重要依据。

Web 服务器的性能评估

在 Web 服务器的测试中,能够反映其性能的主要包括最大并发连接数、响应延迟和吞吐量(每秒处理的请求数)几个参数。

现在常见的 Web 服务器性能评测方法有基准性能测试、压力测试和可靠性测试。基准测试即采用前面所提到的各种基准程序对其进行测试;压力测试则是采用一些测试工具(这些测试工具的主要特征就是能够模拟足够数量的并发操作)来测试 Web 服务器的一些性能指标,如最大并发连接数,间接测试响应时间,以及每秒钟可以处理的请求数目。通过这种压力测试,不但可以考察 Web 服务器的各项性能指标,而且可以找到服务器的瓶颈所在,然后通过参数调整,让服务器运行得更高效。

系统监视

系统监视的目标是为了评估系统性能。

所需监视的性能数据

常规性能数据

该信息可帮助识别短期趋势(如内存泄漏)。经过一两个月的数据收集后,可以求出结果的平均值并用更紧凑的格式保存这些结果。这种存档数据可帮助人们在业务增长时作出容量规划,并有助于在日后评估上述规划的效果。

比较基准的性能数据

该信息可帮助人们发现缓慢、历经长时间才发生的变化。通过将系统的当前状态与历史记录数据相比较,可以排除系统问题并调整系统。由于该信息只是定期收集的,所以不必对其进行压缩存储。

服务水平报告数据

该信息可帮助人们确保系统能满足一定的服务或性能水平,也可能会将该信息提供给并不是性能分析人员的决策者。收集和维护该数据的频率取决于特定的业务需要。

系统监视方式

  • 通过系统本身提供的命令,如 UNIX/Liunx 中的 w、ps、last,Windows 中的 netstat 等。

  • 通过系统记录文件查阅系统在特定时间内的运行状态。

  • 集成命令、文件记录和可视化技术,提供直观的界面,操作人员只需要进行一些可视化的设置,而不需要记忆繁杂的命令行参数,即可完成监视操作,如Windows的Perfmon 应用程序。

猜你喜欢

转载自blog.csdn.net/soslinken/article/details/83008803