软考 系统架构设计师系列知识点之系统性能(3)

接前一篇文章:软考 系统架构设计师系列知识点之系统性能(2)

所属章节:

第2章. 计算机系统基础知识

        第9节. 系统性能

系统性能是一个系统提供给用户的所有性能指标的集合。它既包括硬件性能(如处理器主频、存储器容量、通信带宽等)和软件性能(如上下文切换、延迟、执行时间等),也包括部件性能指标综合性能指标。系统性能包含性能指标性能计算性能设计性能评估4个方面的内容。

2.9.4 性能评估

性能评估是为了一个目的,按照一定的步骤,选用一定的度量项目,通过建模和实验,对一个系统的性能进行各项检测,对测试结果做出解释,并形成一份文档的技术。性能评估的一个目的是为性能的优化提供参考。

1. 基准测试程序

大多数情况下,为测试新系统的性能,用户必须依靠评价程序来评价机器的性能。下面列出了4种评价程序,它们评测的准确程度依次递减真实的程序核心程序小型基准程序合成基准程序。即:

真实的程序 > 核心程序 > 小型基准程序 > 合成基准程序

把应用程序中用得最多、最频繁的那部分核心程序作为评价计算机性能的标准程序,称为基准测试程序(benchmark)。基准程序是目前一致承认的测试系统性能的较好方法。

基准测试程序有整数测试程序Dhystone浮点测试程序LinpackWhetstone基准测试程序SPEC基准测试程序TPC基准测试程序

这一段实际上系统分析师的教材中也有,而且更为细致。参见:

软考 系统分析师系列知识点之系统性能评估(4)

1. Dhrystone程序

Dhrystone是一个综合性的整数基准测试程序,它是为了测试编译器和CPU处理整数指令和控制功能的有效性,人为地选择一些典型指令综合起来形成的测试程序。Dhrystone基准程序用100条C语言语句(包括各种赋值语句、各种数据类型和数据区、各种控制语句、过程调用和参数传送、整数运算和逻辑操作)编写而成,这种基准程序当今很少使用

2. Linpack基准程序

Linpack是国际上最流行的用于测试高性能计算机系统浮点性能的测试。Linpack基准程序是一个用Fortran语言写成的子程序软件包,称为基本线性代数子程序包,此程序完成的主要操作是浮点加法和浮点乘法操作。测量计算机系统的Linpack性能时,让机器运行Linpack程序,测量运行时间,将结果用MFLOPS表示

Linpack通过对高性能计算机采用高斯消元法求解一元n次稠密线性方程组的测试,评价高性能计算机的浮点性能。Linpack测试包括三类:Linpack100、Linpack1000和高性能Linpack(High Performance Linpack,HPL)。

  • Linpack100

Linpack100求解规模为100阶的稠密线性方程组,它只允许采用编译优化选项进行优化,不得更改代码,甚至代码中的注释也不得更改。

  • Linpack1000

Linpack1000要求求解规模为1000阶的线性代数方程组,达到指定的精度要求,可以在不改变计算量的前提下做算法和代码上的优化。

  • HPL

HPL也称为高度并行计算基准测试,它对线性代数方程的阶数n没有限制,即求解问题的规模可以改变,除基本算法(计算量)不可改变外,可以采用其它任何优化方法。

前两种测试运行规模较小,已不是很适合现代计算机的发展

3. Whetstone基准程序

Whetstone是用Fortran语言编写的综合性测试程序,主要由执行浮点运算、功能调用、数组变址、条件转移和超越函数的程序组成。Whetstone的测试结果用Kwips表示,1 Kwips表示机器每秒钟能执行1000条Whetstone指令。这种基准程序当今已经很少使用

4. SPEC

系统性能评估机构(System Performance Evaluation Cooperative,SPEC)基准程序对计算机系统性能的测试有两种方法一种是测试计算机完成单项任务有多快,称为速度测试另一种是测试计算机在一定时间内能完成多少项任务,称为吞吐率测试。SPEC的两种测试方法又分为基本的和非基本的两类基本的是指在编译程序的过程中严格限制所用的优化选项非基本的是可以使用不同的编译器和编译选项以得到最好的性能,这就使得测试结果的可比性降低。

SPEC基准程序测试结果一般以SPECmark(SPEC分数)SPECint(SPEC整数)SPECfp(SPEC浮点数)等形式来表示,测定指标越高,则代表性能越好。SPEC还有针对多CPU系统的两组测试程序,称为SPECrate,用于衡量多处理器系统在整数处理(SPECint_rate)和浮点数处理(SPECfp_rate)方面的总体吞吐能力。

SPEC原来主要是测试CPU性能的现在强调开发能反映真实应用(例如,实际负载等)的基准测试程序,并已推广至多层结构计算、商业应用、I/O子系统等。例如,SPECjbb是一套Java基准测试程序,用于测试Java服务器性能;SPECweb用于评测Web服务器能够支持的最大连接数的基准测试。

要注意的是,SPEC的指标是随着计算机硬件水平的提高和应用要求的改变而不断更新的,每隔几年都会公布新的基准测试程序。

5. TPC

事务处理委员会(Transaction Processing Council,TPC)基准程序用以评测计算机在事务处理数据库处理企业管理与决策支持系统等方面的性能。该基准程序的评测结果用每秒完成的事物处理数TPC来表示。

  • TPC-A基准程序规范用于评价在OLTP环境下的数据库和硬件的性能,不同系统之间用性能/价格比进行比较;
  • TPC-B测试的是不包括网络的纯事务处理量,用于模拟企业计算环境;
  • TPC-C测试的是联机订货系统
  • TPC-D、TPC-H和TPC-R测试的都是决策支持系统,其中TPC-R允许有附加的优化选项;
  • TPC-E测试的是大型企业信息服务系统
  • TPC-W是基于Web应用的基准程序,用来测试一些通过Internet进行市场服务和销售的商业行为,因此TPC-W可以看作是一个服务器的测试标准

2. Web服务器的性能评估

Web服务器的测试中,反映其性能的指标主要有最大并发连接数响应延迟吞吐量等。

常见的Web服务器性能评测方法基准性能测试压力测试可靠性测试

3. 系统监视

进行系统监视的方法通常有三种方式:一是通过系统本身提供的命令,如Unix/Linux中的ps、last,Windows中的netstat等;二是通过系统记录文件,查阅系统在特定时间内的运行状态三是集成命令、文件记录和可视化技术,如Windows的Perform应用程序。

至此,“2.9.4 性能评估”的全部内容就讲解完了。“2.9 系统性能”的全部内容也就讲解完了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用pdf2docx将PDF转换成word文档

pdf2docx是一个Python模块,可以将PDF文件转换为docx格式的Word文档。 pdf2docx模块基于Python的pdfminer和python-docx库开发,可以在Windows、Linux和Mac系统上运行。它可以从PDF文件中提取文本和图片,并将其转换成可编辑的Word文档&#xf…

ZC3201 耐压40V输出12V 300mA LDO

概述 ZC3201是一款40V高精度微安级功率LDO稳压器。只有luA的功耗使其适用于大多数高压节电系 统。其最大工作电压高达40V. 其他功能包括低压差,1%的极高输出精度,限流保护和高纹波抑制比。 ZC3201采用SOT89-3,SOT23…

分布式游戏服务器

1、概念介绍 分布式游戏服务器是一种专门为在线游戏设计的大型系统架构。这种架构通过将游戏服务器分散部署到多台计算机(节点)上,实现了数据的分散存储和计算任务的并行处理。每个节点都负责处理一部分游戏逻辑和玩家请求,通过高…

DM-达梦数据库实时主备搭建

dm实时主备说明 将主库产生的 Redo日志传输到备库,备库接收并重演Redo日志,从而实现备库与主库的数据同步。 一、环境准备 1.1、配置环境准备 首先搭建实时主备,要规划好机器的,我准备两台机器服务器 主服务器 mast…

监控系统prometheus+grafana+发送告警信息

1、基础环境准备两台或更多的主机 2、关闭selinux vi /etc/selinux/config,修改SELINUX的值为disabled 3、关闭防火墙 systemctl disable firewalld systemctl stop firewalld 4、prometheus官网下载 https://prometheus.io/download/ 5、grafana官网下载 https…

Cronos zkEVM 基于 Covalent Network(CQT)数据可用性 API,推动其 Layer2 DeFi 生态更好地发展

在一项旨在显著改善 DeFi 生态的战略举措中,Cronos 与 Covalent Network(CQT)携手合作,以期待 Cronos zkEVM 的推出。这一整合,预计将进一步降低以太坊生态系统的交易成本、提升交易速度,并带来更好的交易体…

开源IT自动化运维工具Ansible Playbook介绍

Ansible Playbook 是一种基于 YAML 格式的配置、编排与自动化工具,用于定义和执行IT基础设施的配置管理和应用程序部署任务。它允许您以声明式的方式编写任务集,这些任务集可以在一组或多组主机上按顺序执行,以实现自动化的配置管理、应用部署…

【Qt】使用Qt实现Web服务器(三):QtWebApp中HttpRequest和HttpResponse

1、HttpRequest 1.1 示例 1)在Demo1的Dump HTTP request示例 在浏览器中输入http://127.0.0.1:8080点击Dump HTTP request 2)切换到页面:http://127.0.0.1:8080/dump 该页面显示请求和响应的内容: Request: Method: GET Path: /dump Version: HTTP/1.1 Headers: accep…

C语言 指针练习

一、 a、b是两个浮点型变量&#xff0c;给a、b赋值&#xff0c;建立两个指针分别指向a的地址和b的地址&#xff0c;输出两个指针的值。 #include<stdio.h> int main() {float a,b,*p1,*p2;a10.2;b2.3;p1&a;p2&b;printf("a%f,b%f\n",a,b);printf("…

Python 深度学习第二版(GPT 重译)(三)

七、使用 Keras&#xff1a;深入探讨 本章涵盖 使用 Sequential 类、功能 API 和模型子类创建 Keras 模型 使用内置的 Keras 训练和评估循环 使用 Keras 回调函数自定义训练 使用 TensorBoard 监控训练和评估指标 从头开始编写训练和评估循环 您现在对 Keras 有了一些经…

零基础入门多媒体音频(4)-GENIVIProjectAudioManager总览

GENIVI Project的AudioManager是一个专门设计用于汽车信息娱乐系统的音频管理解决方案。它负责管理和控制车辆内的音频源和音频路径&#xff0c;确保各种音频信号能够正确、高效地在车辆的音响系统中传输和播放。 AudioManager的核心功能包括音频源的管理、音频路径的控制以及音…

【Spring Cloud】微服务通信概述

SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习技术栈 个性签名&#xff1a;人生乏味啊&#xff0c;我欲令之光怪陆离 本文封面由 凯楠&#x1f4f7; 友情赞助播出 目录 前言 1. Dubbo&#xff08;Spring Cloud Alibaba&#xff09;和 Spring Cloud 的适…

Python利用pygame实现飞机大战游戏

文章目录&#xff1a; 一&#xff1a;运行效果 1.演示 2.思路和功能 二&#xff1a;代码 文件架构 Demo 必备知识&#xff1a;python图形化编程pygame游戏模块 一&#xff1a;运行效果 1.演示 效果图◕‿◕✌✌✌ Python利用pygame实现飞机大战游戏运行演示 参考&#x…

AMPQ和rabbitMQ

RabbitMQ 的 Channel、Connection、Queue 和 Exchange 都是按照 AMQP&#xff08;Advanced Message Queuing Protocol&#xff09;标准实现的。 AMPQ的网络部分 AMQP没有使用HTTP&#xff0c;使用TCP自己实现了应用层协议。 AMQP实现了自己特有的网络帧格式。 一个Connection…

[网鼎杯 2020 朱雀组]Think Java

[网鼎杯 2020 朱雀组]Think Java swagger [[swagger]] 首先下载源码&#xff0c;查看之后发现 查找swagger资料&#xff0c;或者扫描&#xff0c;得到&#xff1a;swagger-ui.html swagger-ui 提供了一个可视化的UI页面展示描述文件。接口的调用方、测试、项目经理等都可以…

[激光原理与应用-76]:光束指向性与影响因素

目录 一、光束指向性 1.1 概述 2.2 光束指向性与光斑大小的区别 2.3 光束指向性与时间的关系 二、激光器的光束指向性的测量方法 2.1 概述 2.2 计算方法 三、激光器中影响光束指向性的因素 一、光束指向性 1.1 概述 光束指向性是指光束传播方向的特性&#xff0c;也可…

Java与Go:对象

对象是面向对象编程的核心概念之一&#xff0c;它具有封装、抽象、继承、多态等特性&#xff0c;能够帮助程序员更好地组织和管理程序&#xff0c;提高代码的可读性、可维护性和可重用性。今天我们来聊一聊Java中的class和Go语言的struct。 Java的class 在Java中&#xff0c;…

【Linux】进程通信

目录 一、管道通信 二、共享内存 三、消息队列 一、管道通信 管道是由操作系统维护的一个文件&#xff0c;管道通信的本质就是将管道文件作为临界资源&#xff0c;实现不同进程之间的数据读写&#xff0c;但是管道只允许父子进程或者兄弟进程之间的通信。 管道文件本身是全…

刷题DAY29 | LeetCode 491-递增子序列 46-全排列 47-全排列 II

491 递增子序列&#xff08;medium&#xff09; 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数相等&#xff0c;也…

开放签开源电子签章白皮书-简版

开放签开源电子签章白皮书-简版 一、摘要&#xff1a; 开放签电子签章团队源自于电子合同SaaS公司&#xff0c;立志于通过开源、开放的模式&#xff0c;结合团队十多年的行业经验&#xff0c;将电子签章产品更简单、更低门槛的推广到各行各业中。让电子签章应用更简单&#x…