服务器的工作负载是什么(服务器按工作负载进行分类的时候可以分为)

网络负载是什么意思?

问题一:请问网络负载是什么意思?怎么测试或者计算 ? 不知道你说的是什么层面的

网络负载在运营商网络里面,简单说指的就是网络中继承载厂流量以及网络设备承载的用户量

测试和计算用人工只能估算,比如一台设备,已知接入用户30户,户均流量2M/s,中继的流量大约就是60M/s。主要的计算是靠设备端口计算,每秒经过的流量。还有运营商内部庞大的计算平台统计等方式。

网络负载这个词更多用于比如“网络负载均衡”,意思是一台设备有两条上联中继共同分摊上联流量以实现负载均衡,或者两台设备同时承载相同用户以实现负载均衡等等。

问题二:网站负载是什么意思 负载的意思很广了, 简单说一下.

货车有载重量, 客车会有人数限制, 我们可以把这些叫做车的负载, 如果人多了或者超重了, 我们可以车超载了.

电路中所有年消耗电能的用电器、电路元器件等都称为负载。

也可以说的把电能转化成其它形式能的装置。

我们再来分析一下负载这个词, 负可以理解成负担,承受, 载我们理解成压力,消耗.

这样就好理解了, 网站负载就是值网站的压力,消耗, 也就是服务器的承受的压力. 一个功能负载比较大就会给服务器造成比较大的压力. 我想这个楼主可以理解, 计算机配置是一定的, 能做的事情也就有限, 让p3跑魔兽世界肯定不现实. 所以你需要根据网站流量(流量越大负载越大,呈正比)和服务器配置进行相应的设置.

分太少, 不说了, 嘿嘿.

问题三:电信网络负载率是什么意思 网络负载率(有时候叫利用率)是描述当前网络工作状态的重要标志,它是一个百分数,用一个实例来表述:

比如一条线路,其额定容量是100Mbps,而在某个时刻,网络上的数据量仅有20Mbps,它的负载率为20%。

如果负载率是0%,就意味着网络属于完全空闲状态,而负载率是100%,网络就已经满负荷运转,如果再有信息来,就要延迟等待了。

有些机器内部就设置有查看负载率的指令,比如:

Load在思科的网络设备中用来表示设备接口的负载(即使用率)情况,Load Interval则是指网络设备计算负载量Load时的采样时间间隔。通常,如果网络管理员想看更精确的统计数据或实时的流量信息,他会通过更改load interval值去实现。同样,当测试接口的吞吐量时,也可以减小load interval以便更快的获得结果。

负载量(load)的计算是基于数据的bit位的,通常它会统计某段时间间隔内进入或流出接口的单位秒的流量。在思科路由器上,这个采样的时间间隔默认是300秒,即5分钟。但是该值可以配置在30秒和600秒这个区间内。更改这个值可以使用下面的命令:

Router(config-if)#load-interva锭 ?

Load interval delay in seconds

在路由器上,如果想看某个接口的负载,使用下面的命令:

Router# show interface serial 0

Serial0 is up, line protocol is up

MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, rely 255/255, load 10/255

在例子中,串行接口0的负载(利用率)是10/255,即大约3.92%

问题四:网络负载是什么意思,请告诉我如何解决 例如你在全速下载 你上网不是慢了吗 所以你最好在路由里设定先限制

问题五:网络负载均衡的作用是什么 调节在线人数多少,以免造成网路超负荷工作

合理分配工作状态的运行情况

问题六:什么是网络负载平衡 当把一台服务器(包括Web服务器、FTP服务器或流媒体服务器等等)放入网络中之后,它可能需要不断地衍生。因为随着客户端数量的不断增加,人们往往需要功能更强大、处理速度更快的服务器。为了解决这个问题,如果将原有的服务器替换成功能更强大、处理速度更快的服务器显然并不是值得称道的办法。但是如果能把新服务器添加到原有服务器的处理能力基础上而不是替换它,这种方案毫无疑问更容易被用户接受。网络负载平衡(Network LoActive Directory Balancing,NLB)群集的出现正好实现了这一目的。NLB群集最早出现在Windows 2000 Server的Active Directoryvanced Server系统中,在Windows Server 2003的各个版本中均提供了此项功能。NLB群集允许用户把两台或更多的服务器结合起来使用,在客户端看起来就像是一台服务器。进入NLB群集的连接请求可以分解传送给两个或更多的NLB群集成员,这样用户可以添加越来越多的服务器(最多32台),形成一个功能非常强大的FTP站点或Web站点。在NLB群集中,每台服务器都会有一个属于自己的静态IP地址,但NLB群集中的所有服务器还有一个共同的IP地址―NLB群集地址。客户端可以通过这个IP地址连接到NLB群集,就像连接到其它IP地址一样。一般情况下,为网络中的两个或多个系统分配相同的IP地址将意味着它们中有一个不能正常通信,不过NLB群集解决了这个问题。当有客户端请求连接到这个共享的IP地址时,NLB群 *** 将每个访问请求指派一个具体的群集成员。因此,只要用户拥有两台服务器且运行着相同内容的IIS,即可以把它们配置成一个NLB群集,然后为这个NLB群集分配一个群集IP地址。当第一个客户端发出连接到这个群集IP地址的请求时,该客户端可能连接的是第二台服务器;当第二个客户端要求连接到该群集IP地址时,它连接的可能是第一台服务器;当第三个客户端发出连接请求时可能会连接到第一台服务器,以此类推。NLB群集只能用于两台或多台服务器提供的服务和运行的数据完全相同的情况,另外当NLB群集接受来自客户端的数据时,则群集中的没一个成员服务器都必须能够接受这些数据。如果把这些数据存储在服务器本地存储系统中,那么将得到两个不同的数据库,分别包含所接受数据的半数内容,群集管理人员需要将这两部分数据进行合并才能得到一个完整的数据库。最好的方法是将来自客户端的数据存储在一个共享存储设备中。

问题七:宽带20M是什么意思 宽带20M的意思是下载速度为≈2.5MB/秒,360测速器测试10M的理论数值是10MB/8 ≈1.25MB的理论值, 当然会根据用户的情况以及网络负载而上下浮动。

问题八:话务量或电信负载通常是以什么表示 。

问题九:计算机网络负荷率是指什么? 就是你网络上跑的数据流量/网络带宽。比方你在线看电影,每秒100KB,你的网络是10兆的话,那负荷率就是100*8/1鼎/1024

云计算中的工作负载有哪几种模式?它们的特征是什么?

云计算的三种工作负载模式都有什么,分别是:IaaS、PaaS以及SaaS。在一定程度上来讲它们不属于同一层面,这也使得它们可以发挥的价值也是各不相同。

第一层:IaaS

Infrastructure as a service(IaaS)可以理解为“基础设施及服务”,大家可以将其看作是利用一切基础设施为消费者提供服务,比如说通过信息处理单元、存储单元以及网络等一系列基础计算机设施进行工作生产。大家可以将硬件外包到别的地方,IaaS公司会提供场外服务器,存储和网络硬件,你可以租用,节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。

第二层:PaaS

Platform as a service(PaaS)可以理解为“平台即服务”,他又被称之为中间件。PaaS能将现有各种业务能力进行整合,具体可以归类为应用服务器、业务能力接入、业务引擎、业务开放平台,向下根据业务能力需要测算基础服务能力,通过IaaS提供的API调用硬件资源,向上提供业务调度中心服务,实时监控平台。

第三层:SaaS

Software as a service(SaaS)可以理解为“软件即服务”,SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。

IaaS、PaaS和SaaS的区别在哪

IaaS 是云服务的最底层,主要提供一些基础资源。它与PaaS的区别在于,用户需要自己控制底层,实现基础设施的使用逻辑。世界上著名的IaaS公司有我们熟知的微软、亚马逊、红帽等,感兴趣的同学可以了解一下。

PaaS 提供软件部署平台,抽象掉了硬件和操作系统细节,可以无缝地扩展。开发者只需要关注自己的业务逻辑,不需要关注底层。PaaS提供者包括Google App Engine、Microsoft Azure等。

SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,人人皆可上手,适用于普通的互联网浏览者,任何一个远程服务器上的应用都可以通过网络来运行。

负载是什么意思

负载是指连接在电路中的电源两端的电子元件。电路中不应没有负载而直接把电源两极相连,此连接称为短路。常用的负载有电阻、引擎和灯泡等可消耗功率的元件。把电能转换成其他形式的能的装置叫做负载。电动机能把电能转换成机械能,

电阻能把电能转换成热能,电灯泡能把电能转换成热能和光能,扬声器能把电能转换成声能。电动机、电阻、电灯泡、扬声器等都叫做负载。晶体三极管对于前面的信号源来说,也可以看作是负载。对负载最基本的要求是阻抗匹配和所能承受的功率。

对于通信电源而言的负载就是通讯设备。比如说一台多媒体服务器需要通信电源给它提供电能,该台多媒体服务器就是该通信电源的负载。我们常见的通讯设备均为通信电源的负载,如光传输设备、交换设备、微波设备、核心网设备、通信基站等等。

扩展资料

1. 携带盟书。

《左传·哀公八年》:“ 景伯 负载,造於 莱门 。” 杜预注:“负载书将欲出盟。” 孔颖达疏:“ 杜 知负载是负载书者,以《周礼》司盟掌盟载之事,故传云‘ 士庄子为载书’。此上有将盟之文,下即云负载之事,故知是载书也。”

2. 负荷装载。

《晏子春秋·杂上五》:“晏子归,负载使人辞于公曰:‘ 婴 故老耄无能也,请毋服壮者之事。’” 唐 元结《说楚何惛王赋》:“今悉汝丁壮妇人,继之童翁,分力负载而随。” 萧红《手》:“正当早操刚收场的时候,忽然听到楼窗口有人在招呼什么,那声音被空气负载着向天空响去似的。”

3. 指负载的货物。

汉 王延寿《鲁灵光殿赋》:“玄熊舑舕以齗齗,却负载而蹲跠。” 沙汀《闯关》三:“ 余明正在忙着检查行李。而且指责着一匹牲口的过多的负载。”

如何计算服务器可用性指标(SAI)?

参照此表,您可以估算出服务器在繁忙时段的平均扩展系数,并且还可以为 Server_Transinfo_Range 设定合理的数值,以此得到一个比较理想的服务器可用性指标。以下内容节选自 Domino Administrator 6.5.1 帮助文档。集群中的每个服务器都定期判断自己的工作负载,判断将基于服务器最近处理请求的响应时间作出。系统用 0 到 100 之间的数字表示工作负载,其中 0 表示服务器负载过重;100 表示服务器负载很轻。这个数值称为服务器的可用性指标。随响应时间增加,服务器可用性指标减小。服务器的可用性指标约等于仍然可用的总服务器容量百分比。例如,如果服务器的可用性指标为 65,则仍然有 65% 的服务器容量可用。尽管企业中的服务器功率和资源可能不同,但每台服务器上的服务器可用性指标都代表同一件事 -- 仍然可用的服务器容量。服务器可用性指标基于扩展系数生成,用于指示服务器上的当前工作负载。扩展系数是由特定类型事件的响应时间与服务器曾经完成此类事务的最短时间之比决定的。例如,如果服务器当前执行“打开数据库”事务的平均时间为 12 毫秒,而服务器曾经执行“打开数据库”事务的最短时间为 3 毫秒,则“打开数据库”事务的扩展系数为 4(当前时间 12 毫秒除以最快时间 3 毫秒)。换言之,扩展系数决定完成当前事务所花的时间是在最佳条件下所花时间的多少倍。IBM(R) Domino(TM) 将每种事务的最短时间存储在内存和 LOADMON.NCF 文件中,服务器每次启动时都会读取该时间。服务器关机时,Domino 会用最新信息更新 LOADMON.NCF 文件。为确定当前的扩展系数,Domino 会在指定的时间段内跟踪最常用的几种 Domino 事务类型。缺省情况下,Domino 会在 5 个时间段内跟踪这些事务,每段时间为 15 秒。然后,Domino 就可以确定完成每种事务平均要花的时间,并用该时间除以它曾经完成每种同类事务所花的最短时间。这样就可确定每种事件的扩展系数。为确定整个服务器的扩展系数,Domino 会取所有类型事务的扩展系数的平均值,并对最常用的事务类型给予较大的加权数。当服务器繁忙时,对服务器添加更多负载会显著地影响服务器的性能和可用性。因此,向繁忙的服务器中添加负载也比向不繁忙的服务器中添加负载要更快地增大扩展系数。因为各个服务器的速度、容量和处理能力各不相同,能够处理的工作负载也不尽相同。所以,两个不同服务器的扩展系数相同并不一定意味着二者能够承担相当的工作负载。例如,对于一个在空闲状态下执行事务都需要花费很长时间的小型服务器来说,扩展系数 40 可能表示用户需要等待若干秒才能得到响应。而对于一个处理速度非常快的超大型服务器来说,扩展系数 400 可能表示用户只需等待不到一秒的时间就能得到响应。注意:下表中的值是根据扩展系数 64 生成的,该值表示服务器处于满负载状态。 扩展系数可用性指标 1nozeros 100nozeros 2nozeros 83nozeros 4nozeros 67nozeros 8nozeros 50nozeros 16nozeros 33nozeros 32nozeros 17nozeros 64nozeros 0nozeros 注意:扩展系数和可用性指标仅用于度量服务器响应时间,该时间通常只是客户机经历的响应时间的一小部分。例如,客户机和服务器之间的网络响应时间通常占客户机经历的响应时间的很大部分。更改表示服务器处于满负载状态的扩展系数值 要有效利用 Domino 工作负载平衡,必须调整扩展系数与可用性指标之间的关系,以便服务器在达到预期的故障转移工作负载时进行故障转移。通过指定表示服务器处于满负载状态的扩展系数值,可以实现此目的。Domino 中的缺省值为 64。当扩展系数达到该值时,便可将服务器视为负载已满,可用性指标降为 0(零)。如果服务器的功能特别强大,处理速度特别快,则可提高表示服务器处于满负载状态的扩展系数值。对于一些处理速度极快的服务器来说,该值可以提高到几百或更高。如果服务器的处理速度特别慢,则可降低该值。要更改表示满负载服务器的扩展系数值,请将下面的设置添加到 NOTES.INI 文件,然后重新启动服务器。SERVER_TRANSINFO_RANGE= n 其中,值 n 表示服务器处于满负载状态的扩展系数值等于 2 的 n 次幂。 n 的缺省值为 6,这说明扩展系数值为 64,因为 2 的 6 次幂为 64;如果将 SERVER_TRANSINFO_RANGE 设为 7,则满负载时的扩展系数值为 128;如果将 SERVER_TRANSINFO_RANGE 设为 8,则该值为 256。要确定 SERVER_TRANSINFO_RANGE 的最优值,请执行下列操作:1. 在服务器负载过重的期间内,监控服务器的扩展系数。可以使用控制台命令“show stat server.expansionfactor”来执行此任务。另外,还可以在这些期间内监控性能统计信息。记录有关此类期间的足够多的扩展系数值,以便确定使用哪个扩展系数值来表示服务器处于满负载状态。 2. 为 SERVER_TRANSINFO_RANGE 确定一个值,以 2 为底数, 该值为指数计算而得的值,即为在步骤 1 中选择的扩展系数值。 如果更改了表示服务器处于满负载状态的扩展系数值,扩展系数与可用性指标之间的关系就会发生变化。下表列出了当 SERVER_TRANSINFO_RANGE 值为 8 时的一些扩展系数以及由之转换而来的可用性指标。因为 2 的 8 次幂为 256,所以本例中的最大扩展系数为 256。扩展系数可用性指标1nozeros100nozeros2nozeros88nozeros4nozeros75nozeros8nozeros63nozeros16nozeros50nozeros32nozeros38nozeros64nozeros25nozeros128nozeros13nozeros256nozeros0nozeros更改用于计算扩展系数的数据量 尽管不是必需的操作,但还是可以使用下列 NOTES.INI 设置来更改 Domino 收集用以配置扩展系数的数据量。 要更改 Domino 使用的数据收集时间段数,请使用 NOTES.INI 的 Server_Transinfo_Max=x 设置,其中 x 是您希望 Domino 使用的收集时段数量。 要更改每个数据收集时间段的时间长度,请使用 NOTES.INI 的 Server_Transinfo_Update_Interval=x 设置,其中 x 是每个时间段的长度(秒)。

cpu负载是指的是什么?

AIX 全名为(Advanced Interactive Executive),它是IBM 公司的Unix操作系统,

整个系统的设计从网络、主机硬件系统,到操作系统完全遵守开放系统的原则。

下面对AIX 作以介绍。

RS/6000 采用IBM 的UNIX操作系统-AIX作为其操作系统。这是一

个目前操作系统界最成功,应用领域最广,最开放的第二代的UNIX系

统。它特别适合于做关键数据处理(CRITICAL)。

AIX 包含了许多IBM 大型机传统受欢迎的特征,如系统完整性,系统可管理

性和系统可用性。

在 AIX 操作系统上,有许多的数据库和开发工具,用户除了选用已有的应用

软件外,还可以根据各自的需要进行开发。

此外,在AIX 之上,有一组功能强,使用方便的系统管理工具。对于异种平台

互存,互操作有很成熟的解决方案。

由于该 UNIX 的先进的内核技术和最好的开放性,因此,虽然RS/6000

从宣布到今天只有短短的5 年多的时间,它已在各行各业有了广泛的运用,

并在1993和1994年连续二年在MIDRANGE商用 UNIX 领域处于第一位。

RISC SYSTEM/6000的操作系统是AIX ,它是性能卓越的、开放的

UNIX,汇集了多年来计算机界在UNIX上的研究成果,以IBM 在计算机

体系结构、操作系统方面40多年极其丰富的经验。最大限度的使用RISC

技术,安装了象AIX 这样的具备工业界实力的UNIX操作系统。

它既可连接SAA 体系结构,又能与非IBM 系统的网络相连,因此,可以

和多数专业银行现有的系统实现互连,这对今后业务系统拓展将带来极大的

灵活性,并降低投资。

AIX 遵循一系列的国际标准:

* IEEE POSIX1004.1-1990

* X/OPEN 移植指南ISSUE3的基本级(XPG3)

* AES/OS REVISION A (OSF/1 LEVEL 2 资格)

* FIPS 151-1

* AIX的编译器: XLC、C++(可选)、FORTRAN(可选)、PASCAL(可选)、COBOL(可选)

* ADA 的编译器已达到XPG3“成员”级的认可。

* AIX 支持多用户、多任务。

AIX有一些其它特性包括:

AIX 提供了3 种SHELL :SYSTEM V的KORN、BOURNE SHELL和4.3BSDC

SHELL作为可选择的UNIX系统界面;

安全设施满足TCB (Trusted Computing Base)的C2级;

实时处理能力,这对于“面向交易”的应用至关重要(如零售业

和银行等),它使RS/6000 获得极高的响应和吞吐量;

虚拟存储管理,当需要时,可将一些不常用的模块转送至外存,

提高内存的可利用性。

先进的文件系统,使得系统管理更加有效,并提高了数据可靠性

以及完整性。

能兼容Dos 应用程序和数据。

InfoExplorer,快速信息超文本索引系统- 不仅包括文字,而且

对包含声音、图像的索引系统,这是个联机的文件接口。包括全部的

超文本的索引和查找,以及面向任务和坐标的多重导引和索引系统。

这个文字及图形索引系统以一个灵活的、基于任务的方式去使用详细

资料及培训资料。

高级系统管理工具(SMIT,System Management Interface Tool)。

提供一级菜单驱动程序,诸如完成软件的安装与设置、设备的设置及

管理、问题的测定、存贮管理等。可以自动地进行I/O 设备设置,

ASCII 终端也可充当系统控制台。在LAN 上可以进行远程系统的安装。

系统工作负载

系统工作负载的完整准确的定义对于预测或理解它的性能是很关键的。在衡量系统性能时,工作负载的不同可能会比 CPU 时钟速度或随机访问存储器(RAM)大小不同带来更多的变化。工作负载的定义不仅必须包含向系统发送的请求的类型和速率,还要包含将要执行的确切软件包和内部应用程序。

包括系统将在后台处理的工作也很重要。例如,如果一个系统包含通过 NFS 加载且由其它系统频繁访问的文件系统,那么处理那些访问很可能是总体工作负载中非常重要的一部分,即使该系统不是正式的服务器也是如此。

已进行标准化从而允许在不同系统之间进行比较的工作负载称为基准程序。但是,很少有实际的工作负载能完全符合基准程序的精确算法和环境。即使是那些最初从实际的应用程序发展而来的行业标准基准程序也已经过简化和均匀化,从而使它们可移植到大量的硬件平台上。使用行业标准基准程序唯一有效的方法是减小将接受严肃评估的候选系统的范围。因此,在尝试理解系统的工作负载和性能时不应该只依赖基准测试结果。

可以将工作负载分为以下类别:

多用户

由多个用户通过各自的终端提交的工作组成的工作负载。通常,这种工作负载的性能目标有两种可能,即在保留指定的最坏情况响应时间条件下最大化系统吞吐量,或者对于固定不变的工作负载获得尽可能快的响应时间。

服务器

由来源于其它系统的请求组成的工作负载。例如,文件服务器的工作负载主要是磁盘读写请求。它是多用户工作负载(加上 NFS 或其它 I/O 活动)的磁盘 I/O 部分,所以适用同样的目标,即在给定的相应时间限制下最大化吞吐量。其它的服务器工作负载由诸如数学计算密集的程序、数据库事务、打印机作业之类的项组成。

工作站

由单独的用户通过键盘提交工作和在该系统的显示器上接收结果组成的工作负载。通常这种工作负载的最高优先级性能目标是使用户请求的响应时间最短。

性能目标

在定义了系统必须处理的工作负载后,可以选择性能标准并根据这些标准设定性能目标。计算机系统的总体性能标准是响应时间和吞吐量。

响应时间是提交请求和返回该请求的响应之间使用的时间。示例包括:

数据库查询花费的时间

将字符回显到终端上花费的时间

访问 Web 页面花费的时间

吞吐量是对单位时间内完成的工作量的量度。示例包括:

每分钟的数据库事务

每秒传送的文件千字节数

每秒读或写的文件千字节数

每分钟的 Web 服务器命中数

这些度量之间的关系很复杂。有时可能以响应时间为代价而得到较高的吞吐量,而有时候又要以吞吐量为代价得到较好的响应时间。在其它情况下,一个单独的更改可能对两者都有提高。可接受的性能基于合理的吞吐量与合理的响应时间相结合。

在规划或调谐任何系统中,当处理特定的工作负载时一定要保证对响应时间和吞吐量都有明确的目标。否则,有可能存在一种风险,那就是您花费了分析时间和物力改善的仅仅是系统性能中一个次要的方面。

程序执行模型

为了清楚地检查工作负载的性能特征,需要有一个动态而非静态的程序执行模型,如下图所示。

图 1. 程序执行层次结构. 该图形以一个三角形为基础。左边代表和右边适当的操作系统实体匹配的硬件实体。程序必须从存储在磁盘上的最低级别开始,到最高级别的处理器运行程序指令。例如,从底部到顶部,磁盘硬件实体容纳可执行程序;实内存容纳等待的操作系统线程和中断处理程序;转换后备缓冲区容纳可分派的结程;高速缓存中包含当前分派的线程和处理器流水线;而寄存器中包含当前的指令。

程序为了运行必须沿着硬件和操作系统层次结构并行向上前进。硬件层次结构中的每个元素都比它下面的元素稀少和昂贵。不仅程序不得不为了每个资源和其它程序竞争,而且从一个级别过渡到下一级别也要花时间。为了理解程序执行动态,需要对层次结构中每一级别有个基本的了解。

硬件层次结构

通常,从一个硬件级别移动到另一级别所需要的时间主要由较低级别的等待时间(从发出请求到接受到第一批数据的时间)组成。

固定磁盘

对于一个在单机系统中运行的程序而言,最慢的操作是从磁盘上取得代码或数据,这是因为有下列原因:

必须引导磁盘控制器直接访问指定的块(排队延迟)。

磁盘臂必须寻道以找到正确的柱面(寻道等待时间)。

读/写磁头必须等候直到正确的块旋转到它们下面(旋转等待时间)。

数据必须传送到控制器(传送时间)然后传递到应用程序中(中断处理时间)。

除了程序中显式的读或写请求以外,还有许多原因导致磁盘操作缓慢。频繁的系统调谐活动证明是不必要地跟踪了磁盘 I/O。

实内存

实内存通常称为随机存取存储器或 RAM,它比磁盘速度快,但每个字节的开销非常昂贵。操作系统尽量只把当前使用的代码和数据保存在 RAM 中,而把任何额外的内容存储在磁盘上,或者决不首先把它们带入 RAM 中。

然而,RAM 的速度不一定比处理器快。通常在硬件意识到 RAM 访问需求与处理器可使用数据或指令的时间之间,会出现许多处理器周期的 RAM 等待时间。

如果要访问存储到磁盘上(或者尚未调进)的某一虚拟内存页,则会产生一个缺页故障,并且程序的执行暂挂直到该页从磁盘读取。

转换后备缓冲区(TLB)

使程序员不会受限于系统的物理局限性的方法是实现虚拟内存。程序员在设计和编写程序时认为内存非常大,系统将负责将程序中指令和数据的虚拟地址转换成需要用来从 RAM 取得的指令和数据的实际地址。因为这个地址转换过程可能很费时,系统将最近访问过的虚拟内存页的实际地址保存在一个叫转换后备缓冲区(TLB)的高速缓存中。

只要运行中的程序继续访问程序和数据页中的一小部分,则完整的从虚拟到实际页地址的转换过程就不需要在每次 RAM 访问的时候都重做一次。当程序试图访问的虚拟内存页没有 TLB 入口(即 TLB 未命中)时,则需要大量的处理器周期(即 TLB 未命中等待时间)来进行地址转换。

高速缓存

为了将程序必须经历的 RAM 等待时间减到最小,系统为指令和数据组织了高速缓存。如果所需的指令和数据已在高速缓存中,则产生高速缓存命中,处理器就可在下一个周期立刻使用该指令或数据。否则产生高速缓存未命中,伴随有 RAM 等待时间。

在某些系统中,有两到三级高速缓存,通常称它们为 L1、L2 和 L3。如果一个特殊的存储器引用导致 L1 未命中,则检查 L2。如果 L2 产生未命中,则引用转至下一个级别,要么是 L3(如果存在),要么是 RAM。

高速缓存的大小和结构根据型号的不同而有不同,但是有效使用它们的原理是相同的。

流水线和寄存器

流水线型超标量体系结构使得在某些情况下可以同时处理多个指令。大批的通用寄存器和浮点寄存器使得可以将相当多的程序数据保存在寄存器中,而不需要频繁存储和重新装入。

可以设计优化编译器最大限度地利用这些能力。当生成产品程序时,无论程序有多小编译器的优化函数都应该能使用。Optimization and Tuning Guide for XL Fortran, XL C and XL C++ 中描述了如何将程序调谐到最大性能。

软件层次结构

程序为了运行还必须逐步执行软件层次结构中的一系列步骤。

可执行程序

当请求运行某个程序时,操作系统执行一些操作以将磁盘上的可执行程序转换成运行中的程序。首先,必须扫描当前 PATH 环境变量中的目录以查找程序的正确副本。然后,系统装入程序(不要和 ld 命令混淆,该命令是个绑定程序)必须解析出从程序到共享库的任何外部引用。

为了表示用户的请求,操作系统将创建一个进程或一组资源(例如专用虚拟地址段),任何运行中的程序都需要该进程或资源。

操作系统也会在该进程中自动创建一个单独的线程。线程是一个单独程序实例的当前执行状态。在 AIX 中,对处理器和其它资源的访问是根据线程来分配而不是根据进程分配的。应用程序可在一个进程中创建多个线程。这些线程共享由运行它们的进程所拥有的资源。

最后,系统转移到程序的入口点。如果包含入口点的程序页还不在内存中(可能因为程序最近才编译、执行和复制),则由它引起的缺页故障中断将该页从它的后备存储器中读取出来。

中断处理程序

通知操作系统发生了外部事件的机制是中断当前运行线程并将控制转移到中断处理程序。在中断处理程序可以运行之前,必须保存足够的硬件状态以保证在中断处理完成后系统能恢复线程的上下文。新调用的中断处理程序将经历在硬件层次结构中上移带来的所有延迟(除了页面故障)。如果该中断处理程序最近没有运行过(或者中间程序很节约时间),那么它的任何代码或数据不太可能保留在 TLB 或高速缓存中。

当再次调度已中断的线程时,它的执行上下文(如寄存器内容)逻辑上将得到恢复,以便它可以正确运行。然而,TLB 和高速缓存的内容必须根据程序的后继请求重新构造。因此,作为中断的结果,中断处理程序和被中断的线程都可能遇到大量的高速缓存未命中和 TLB 未命中延迟。

等待线程

无论何时只要执行的程序发出不能立刻满足的请求,例如同步 I/O 操作(显式的或缺页故障的结果),该线程就会处于等待状态,直到请求完成为止。除了请求本身所需的时间以外,通常这还会导致另外一些 TLB 和高速缓存的延迟时间。

可分派线程

当某个线程可分派但不在运行时,它不能完成任何有用的事情。更糟的是,正运行的其它线程可能导致重新使用该线程的高速缓存线路并将实内存页收回,从而引起最终分派时出现更多的延迟。

当前已分派的线程

调度程序选择对使用处理器有强烈要求的线程。在『CPU 调度程序性能概述』中讨论了影响该项选择需要考虑的事项。当分派线程后,处理器的逻辑状态恢复成线程中断时有效的状态。

当前的机器指令

如果未出现 TLB 或高速缓存未命中的情况,绝大多数机器指令都能在单个处理器周期内执行。相比之下,如果程序迅速转换到该程序的不同区域且访问大量不同区域中的数据,就会产生较高的 TLB 和高速缓存未命中率,执行每条指令使用的平均处理器周期数(CPI)可能大于 1。这种程序被认为有较差的局域性引用能力。它也许在使用必需的最少指令数来做这个工作,但是要消耗大量不必要的周期数。部分是因为指令数和周期数之间相关性较弱,检查程序列表来计算路径长度不会再直接产生一个时间值。由于较短的路径通常比较长的路径快,所以速率根据路径长度率的不同而明显不同。

编译器用完善的方法重新安排代码从而将程序执行所需的周期数降到最小。追求最佳性能的程序员必须首先致力于确保编译器具有有效优化代码所需的全部信息,而不是试图事后批评编译器的优化技术(请参阅『预处理器和编译器的有效使用』)。优化有效性的实际衡量标准是可信工作负载的性能。

系统调谐

在有效实现应用程序后,系统总体性能的进一步提高就成了系统调谐考虑的一个问题。系统级调谐包含的主要组件有:

通信 I/O

取决于工作负载的类型与通信链路的类型,可能需要调谐以下的一个或多个通信设备驱动程序:TCP/IP 或 NFS。

固定磁盘

逻辑卷管理器(LVM)控制文件系统的位置和磁盘上调页空间,这可能会极大地影响系统经历的寻道等待时间。磁盘设备驱动程序控制执行 I/O 请求所遵从的顺序。

实内存

虚拟内存管理器(VMM)控制空闲实内存帧的池,并决定何时从何处取用帧来补充该池。

运行线程

调度程序确定接下来由哪个可调度实体接收控制权。在 AIX 中,可调度实体是线程。请参阅『线程支持』。

性能调谐过程介绍

性能调谐主要是资源管理问题和正确的系统参数设置。调谐工作负载和系统以有效利用资源由下列步骤组成:

识别系统中的工作负载

设置目标:

确定如何评测结果

量化目标和区分目标的优先级

识别限制系统性能的关键资源

最小化工作负载的关键资源要求:

如果可选择的话,使用最适当的资源

减少个别程序或系统函数对关键资源的要求

结构化资源的并行使用

修改资源的分配以反映优先级

更改个别程序的优先级或资源限制

更改系统资源管理参数的设置

重复步骤 3 到步骤 5 直到满足目标(或者资源饱和)

如果必要的话,使用其它资源

在系统性能管理的每个阶段都有相应的工具(参阅附录 A 『监视和调谐命令和子例程』)。这些工具有些可从 IBM 得到;另一些是第三方产品。下图说明在一个简单的 LAN 环境中性能管理的各阶段。

图 2. 性能阶段. 该图用五个加权的圆圈说明对系统性能调谐的各步骤:规划、安装、监视、调谐和扩展。每个圆圈代表系统处于不同的性能状态:空闲、不均衡、均衡和过载。实质上就是扩展一个过载的系统、调谐系统直到它是均衡的、监视不均衡的系统并且在需要扩展时安装更多的资源。

识别工作负载

系统执行的所有工作都必须能够识别。特别是在 LAN 连接的系统中,通过系统的用户之间仅有的非正式协议,可以轻松地开发出一组复杂的交叉安装的文件系统。这些文件系统必须被识别出来并作为任何调谐活动的一部分进行考虑。

对于多用户工作负载,分析员必须量化一般情况和高峰期的请求率。确定用户实际与终端交互时间的实际比例也是很重要的。

该识别阶段中的一个要素是决定必须对生产系统进行评估和调谐活动,还是在另一系统上(或“切换”)用实际工作负载的模拟型式来完成评估和调谐活动。分析员必须针对非生产环境的灵活性权衡来自于生产环境结果的较大可靠性,分析员可在非生产环境中进行试验,当然试验所冒的风险是性能下降或更糟。

设置目标的重要性

虽然可以根据可测数量设置目标,但实际希望的结果往往带有主观性,比如令人满意的响应时间。进一步讲,分析员必须抵挡住调谐可测量的东西而不是对他而言是重要东西的诱惑。如果没有系统提供的评估能符合所要求的改进,那么就必须对该评估进行设计。

量化目标最有价值的方面不是选择达到的数字,而是对(通常)多个目标的相对重要性进行公开判定。如果这些优先级没有事先设定且不是每个相关的人都理解的话,分析员在没有进行频繁咨询之前不能作出任何折衷的决定。分析员还容易对用户的反应或管理性能中一些已经被忽略的方面而感到吃惊。如果系统的支持和使用跨过了组织的边界,您可能需要供应商和用户之间的书面服务级协议,可确保对性能目标和优先级有一个清楚而共同的理解。

识别关键资源

通常,给定工作负载的性能可由一两种关键系统资源的可用性和速度决定。分析员必须正确识别出那些资源,否则会冒险陷入无休止的尝试出错操作。

系统具有物理资源和逻辑资源。关键的物理资源通常比较容易识别,因为较多的系统性能工具可用来评估物理资源的利用率。通常最影响性能的物理资源如下:

CPU 周期

内存

I/O 总线

不同的适配器

磁盘臂

磁盘空间

网络访问

逻辑资源不太容易识别。逻辑资源通常是对物理资源进行分区的编程抽象。进行分区的目的是共享和管理物理资源。

构建于其上的物理资源和逻辑资源的一些示例如下:

CPU

处理器时间片

内存

页面帧

堆栈

缓冲区

队列

锁和信号量

磁盘空间

逻辑卷

文件系统

文件

分区

网络访问

会话

信息包

通道

了解逻辑资源和物理资源是很重要的。因为缺少逻辑资源线程可能阻塞,就像因为缺少物理资源而阻塞一样,扩展下层物理资源未必能保证创建附加的逻辑资源。例如,考虑使用 NFS 块 I/O 守护程序 biod。客户机上的一个 biod 守护程序要求处理每个暂挂的 NFS 远程 I/O 请求。因此,biod 守护程序的数量限制了能同时运行的 NFS I/O 操作的数量。当缺少 biod 守护程序时,系统检测会指示 CPU 和通信链路只使用了很少一部分。您可能有系统未充分利用(并且很慢)的假象,事实上这时是因为缺少 biod 守护程序从而限制了其余的资源。biod 守护程序使用处理器周期和内存,但您不能简单地通过添加实内存或将它转移到一个更快的 CPU 上来修正这个问题。解决方案是创建更多的逻辑资源(biod 守护程序)。

在应用程序开发过程中可能不经意间创建逻辑资源和瓶颈。传递数据或控制设备的方法可以有效地创建一个逻辑资源。当偶然创建这样的资源时,通常没有工具可监视它们的使用,也没有接口控制它们的分配。它们的存在可能不会引起重视,直到某个特定性能问题出现时就会突出它们的重要性。

最小化关键资源要示

下面讨论在三个级别上考虑最小化工作负载的关键资源要求。

使用适当的资源

决定在一个资源上使用另一个资源时应该理智地考虑并且头脑中要有明确的目标。在应用程序开发过程中有一个选择资源的示例,即通过增加内存消耗来减少 CPU 的消耗来达到一个平衡。用于演示资源选择的公共的系统配置决策为:是将文件放置在单独的本地工作站上,还是放置在远程服务器上。

减少关键资源的要求

对于本地开发的应用程序,可用多种方法检查程序以便其更有效地执行相同的功能或除去不需要的功能。在系统管理级别上,争用关键资源的低优先级工作负载可以移动到其它系统中、在其它时间运行或由“工作负载管理器”控制。

结构化资源的并行使用

因为工作负载需要运行多个系统资源,从而可以利用这样的事实,即资源是独立的且可以并行使用。例如,操作系统预读算法检测到程序在顺序访问文件的事实,因此它调度并行执行的其它顺序读取操作,同时应用程序还处理先前的数据。并行也用于系统管理。例如,如果某个应用程序同时访问两个或多个文件且如果同时访问的这些文件存放在不同的驱动器上,那么添加一个额外的磁盘驱动器可能会提高磁盘 I/O 的速率。

资源分配优先级

操作系统提供了一些方法来区分活动的优先级。有些在系统级别上设置,比如磁盘调步。其它的例如进程优先级可由单个用户设置以反映连接到特定任务上的重要性。

重复调谐步骤

性能分析的一个公认的真理是接下来总有瓶颈出现。减少某个资源的使用意味着另一资源限制了吞吐量或响应时间。例如,假设我们的系统中有下列的利用率级别:

CPU:90% 磁盘:70% 内存:60%

这个工作负载是 CPU 受限的。如果成功的调谐工作负载使得 CPU 负载从 90% 降到 45%,则可望在性能上有两倍的改善。不幸的是现在的工作负载是 I/O 受限的,它有下列的近似利用率:

CPU:45% 磁盘:90% 内存:60%

改善后的 CPU 利用率允许程序立刻提交磁盘请求,但接下来我们会受到由磁盘驱动器的容量施加的限制。性能改善也许是 30% 而不是预期的 100%。

总是存在一个新的关键资源。重要的问题是使用手边的资源是否已经满足性能目标。

注意: 用 vmtune、schedtune 和其它调谐命令产生的不正当系统调谐可能导致意外的系统行为,例如降低系统或应用程序的性能或系统暂停。更改仅应在性能分析识别出瓶颈时才适用。

注:

对于性能相关的调谐设置,不存在什么一般建议。

应用额外的资源

在前述所有的方法都用尽后如果系统性能仍不能满足它的目标,则必须增强或扩展关键资源。如果关键资源是逻辑资源且下层物理资源足够,则无需额外代价就可以扩展逻辑资源。如果关键资源是物理资源,分析员必须研究一些额外的问题:

必须增强或扩展关键资源到什么程度才可以终止瓶颈?

系统性能会满足它的目标吗?或另外的资源会首先饱和吗?

如果有一串关键资源的话,增强或扩展所有这些资源或与另一系统划分当前工作负载是否更节省成本呢?

性能基准

当试图比较不同环境中给定软件的性能时,常会遇到许多可能的错误,一些是技术上的,一些是概念上的。本节包含主要的提示信息。本书其它各节讨论评测过去和特定处理时间的不同方法。

评测处理系统调用需要花费的时间(挂钟)时,需要获取一个由下列内容组成的数字:

执行正运行服务的指令所需要的确切时间

处理器等待内存中的指令或数据时延迟的不同时间(也就是说,高速缓存和 TLB 不命中的代价)

在调用开头和结束访问时钟所需要的时间

由周期性事件如系统定时器中断所消耗的时间

由或多或少的随机事件消耗的时间,如 I/O

为了避免报告一个不精确的数字,常常要求多次评测工作负载。因为所有的外部的因素都会增加处理时间,典型的评估集有一个曲线的形式

服务器内存使用率与负载之间的关系

CPU使用率:显示的是程序在运行期间实时占用的CPU百分比

CPU负载:显示的是一段时间内正在使用和等待使用CPU的平均任务数。CPU使用率高,并不意味着负载就一定大。举例来说:如果我有一个程序它需要一直使用CPU的运算功能,那么此时CPU的使用率可能达到100%,但是CPU的工作负载则是趋近于“1”,因为CPU仅负责一个工作嘛!如果同时执行这样的程序两个呢?CPU的使用率还是100%,但是工作负载则变成2了。所以也就是说,当CPU的工作负载越大,代表CPU必须要在不同的工作之间进行频繁的工作切换。

未经允许不得转载:便宜VPS网 » 服务器的工作负载是什么(服务器按工作负载进行分类的时候可以分为)