linux服务器监控的几个方法和命令
监控会降低性能的。同问filter、simls是什么?没用过。
当服务器系统性能突然低于平均应有的情况,问题可能来自在执行的进程、内存的使用率、磁盘的性能和CPU 的压力。在预算有限的时代,理解如何优化系统性能比以往任何时候都重要。要实现它的前提是,你必须充分了解自己的服务器,从而找到真正的瓶颈所在。本文提供一些基础的工具来辨别和处理一些性能问题。工作过程是:首先查看整个系统的状态(服务器整体)后是检查特定的子系统(内存、处理器、IO等)。
一、系统负载监测
1.使用uptime命令
2.使用cron命令进行定时监测系统负载:
二、Unix进程运行的监测
1.使用ps命令
Unix系统提供了ps等察看进程信息的系统调用,通过结合使用这些系统调用,我们可以清晰地了解进程的运行状态以及存活情况,从而采取相应的措施,来确保Unix系统的性能。它们是目前在Unix下最常见的进程状况查看工具,是随 Unix版本发行的,安装好系统之后,用户就可以使用。 这里以ps命令为例,ps命令是最基本同时也是非常强大的进程查看命令。利用它可以确定有哪些进程正在运行及运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等。ps命令可以监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的
2.使用进程监控工具
如果安装了CDE环境,可以使用图形界面进程等系统信息,使用方法是单击“前面板”上“工具”子面板上的“查找进程”控件。 显示“进程管理器”主窗口。它立即对工作站进行采样,并显示所有当前进程的采样。
三、内存使用情况监测
内存是Unix内核所管理的最重要的资源之一。内存管理系统是操作系统中最为重要的部分,因为系统的物理内存总是少于系统所需要的内存数量。虚拟内存就是为了克服这个矛盾而采用的策略。系统的虚拟内存通过在各个进程之间共享内存而使系统看起来有多于实际内存的内存容量。Unix支持虚拟内存, 就是使用磁盘作为RAM的扩展,使可用内存相应地有效扩大。核心把当前不用的内存块存到硬盘,腾出内存给其他目的。当原来的内容又要使用时,再读回内存。
如何监控linux服务器上的数据
linux服务器性能监测是很重要的工作,服务器运行应该提供最有效的系统性能。当服务器系统性能突然低于平均应有的情况,问题可能来自在执行的进程、内存的使用率、磁盘的性能、网络流量和cpu
的压力。在预算短缺的今天,理解如何优化系统性能比以往任何时候都重要。
要实现它的前提是,你必须充分了解自己的计算机和网络,从而找到真正的瓶颈所在。本文提供一些基础的工具来辨别和处理一些性能问题。使用的linux
发行版本是red
hat
enterprise
linux
4,工作过程是:首先查看整个系统的状态,然后是检查特定的子系统。
linux服务器进行性能监控有几种方法,每种方法都各有其优缺点。
使用snmp等标准工具
标准及非标准工具能执行一个或多个收集、合并及传输阶段,如rstatd或snmp工具,然而标准的rstat后台程序提供的信息是有限的,速度慢而且效率低。
内核模块
几个系统监控工程利用内核模块来存取监控数据。一般情况下,这是很有效的收集系统数据的方法。然而这种方法存在的问题是,当主内核源内有其它改变时,必须保持代码一致性。一个内核模块可能与用户想使用的其它内核模块相冲突。此外,在使用监控系统之前,用户必须获得或申请模块。
/proc虚拟文件系统
/proc虚拟文件系统是一个较快的、高效率执行系统监控的方法。使用/proc的主要缺点是必须保持代码分析与/proc
文件格式改变的同步。事实表明,linux内核的改变比/proc
文件格式的改变要更频繁,所以,用/proc虚拟文件系统比用内核模块存在的问题要少。本文介绍的方法即基于/proc虚拟文件系统。
一、
/proc文件系统特点
linux
系统向管理员提供了非常好的方法,使他们可以在系统运行时更改内核,而不需要重新引导内核系统。这是通过
/proc
虚拟文件系统实现的。/proc
文件虚拟系统是一种内核和内核模块用来向进程
(process)
发送信息的机制
(所以叫做
/proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取
有关进程的有用信息,在运行中
(on
the
fly)
改变设置
(通过改变内核参数)。
与其他文件系统不同,/proc
存在于内存之中而不是硬盘上。不用重新启动而去看
cmos
,就可以知道系统信息。这就是
/proc
的妙处之一。
小提示:
每个linux系统根据软硬件不同/proc
虚拟文件系统的内容也有些差异。/proc
虚拟文件系统有三个很重要的目录:net,scsi和sys。sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。
Linux服务器硬件情况的查看
1、首先是对于CPU的说明 服务器CPU性能参数主要信息可以通过查看 /proc/cpuinfo 获得。具体查看指令及效果如下: 显示这台服务器上有2个物理CPU 显示这台服务器的物理核数为16个 显示运行模式为64位 显示为Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz 命令: 显示此服务器的线程数为64 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定. 1.命令格式: top [参数] 2.命令功能: 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等 3.命令参数: -b 批处理 -c 显示完整的治命令 -I 忽略失效过程 -s 保密模式 -S 累积模式 -i 设置间隔时间 -u 指定用户名 -p 指定进程 -n 循环显示的次数 4.使用实例: 实例1:通过 Top 命令显示进程信息 命令: 统计信息区: 前五行是当前系统情况整体的统计信息区。下面我们看每一行信息的具体意义。 第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下: 10:38:58 — 当前系统时间 up 39 days, 19:47 — 系统已经运行了39天19小时47分钟(在这期间系统没有重启过的吆!) 1 users — 当前有1个用户登录系统 load average: 0.00, 0.00, 0.00 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。 load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。 第二行,Tasks — 任务(进程),具体信息说明如下: 系统现在共有769个进程,其中处于运行中的有1个,463个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。 第三行,cpu状态信息,具体属性说明如下: 0.0%us — 用户空间占用CPU的百分比。 0.0% sy — 内核空间占用CPU的百分比。 0.0% ni — 改变过优先级的进程占用CPU的百分比 100.0% id — 空闲CPU百分比 0.0% wa — IO等待占用CPU的百分比 0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比 0.0% si — 软中断(Software Interrupts)占用CPU的百分比 备注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识! 第四行,内存状态,具体信息如下: 65600012k total — 物理内存总量 1785256k used — 使用中的内存总量 62385920k free — 空闲内存总量 1428836k buffers — 缓存的内存量 第五行,swap交换分区信息,具体信息说明如下: 2097148k total — 交换区总量 918340k used — 使用的交换区总量 1178808k free — 空闲交换区总量 备注: 第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。 对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。 第六行,空行。 第七行以下:各进程(任务)的状态监控,项目列信息说明如下: PID — 进程id USER — 进程所有者 PR — 进程优先级 NI — nice值。负值表示高优先级,正值表示低优先级 VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA SHR — 共享内存大小,单位kb S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 %CPU — 上次更新到现在的CPU时间占用百分比 %MEM — 进程使用的物理内存百分比 TIME+ — 进程使用的CPU时间总计,单位1/100秒 COMMAND — 进程名称(命令名/命令行) 或者通过 free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 命令: 显示我当前的服务器的物理内存是62G,其中交换内存是2个G,一共剩余是60G的 三、查看Linux内核当前的系统版本号 命令: 显示的当前的服务器Linux内核是Ubuntu系统,版本号是18.04.6
如何监控Linux服务器上的每秒磁盘寻道
Windows性能计数器--磁盘性能析Disk
Physical Disk:
单IO
Avg.Disk Bytes/Read
Avg.Disk Bytes/Write
IO响应间
Avg.Disk sec/Read
Avg.Disk sec/Write
IOPS
DiskReads/sec
DiskWrites/sec
DiskTransfers/sec
IO吞吐率
DiskBytes/sec
DiskRead Bytes/sec
DiskWrite Bytes/sec
磁盘两重要参数:Seek time、Rotational latency
I/O计数:①1000/(Seek time+Rotational latency)*0.75范围内属达85%I/O计数则基本认已经存I/O瓶颈理论情况磁盘随机读计数125、 顺序读计数225于数据文件言随机读写志文件顺序读写数据文件建议存放于RAID5志文件存放于RAID10或 RAID1
附:
15000 RPM:150随机IOPS
10000 RPM:110随机IOPS
5400 RPM:50随机IOPS
面假设4块硬盘RAID5观察Physical Disk性能象部值:
Avg. DiskQueue Length 12 队列度
Avg. DiskSec/Read .035 读数据所用间ms
Avg. DiskSec/Write .045 写数据所用间ms
DiskReads/sec 320 每秒读数据量
DiskWrites/sec 100 每秒写数据量
Avg. DiskQueue Length12/4=3每块磁盘平均队列建议超2
Avg. DiskSec/Read般要超11~15ms
Avg. DiskSec/Write般建议于12ms
面结我看磁盘本身I/O能力满足我要求原量请求才导致队列等待能SQL语句导致量表扫描所致进行优化能达要求面公式帮助计算使用几块硬盘满足并发要求:
Raid 0 -- I/Os per disk = (reads +writes) / number of disks
Raid 1 -- I/Os per disk = [reads +(2 * writes)] / 2
Raid 5 -- I/Os per disk = [reads +(4 * writes)] / number of disks
Raid 10 -- I/Os per disk = [reads +(2 * writes)] / number of disks
我结:(320+400)/4=180根据公式①磁盘I/O值假设现I/O计数125达结:720/125=5.76说要用6块磁盘才能达要求
面Disk Reads/secDisk Writes/sec难确估算值能系统比较忙概估算平均值作计算公式依据另难客户Seek time、 Rotational latency参数值能用理论值125进行计算
前言
作数据库管理员关注系统性能重要工作所关注各面性能能IO性能却令痛块面着各种涩参数令眼花缭乱新奇术语再加存储厂商忽悠总让我种云雾觉本系列文章试图基本概念始磁盘存储相关各种概念进行综合归纳让家能够IO性能相关基本概念IO性能监控调整比较全面解
部我先舍弃各种结构复杂存储系统直接研究单独磁盘性能问题藉解各衡量IO系统系能各指标及间关系
几基本概念
研究磁盘性能前我必须先解磁盘结构及工作原理再重复说明关系硬盘结构工作原理信息参考维基百科面相关词条——Hard disk drive(英文)硬盘驱器(文)
读写IO(Read/Write IO)操作
磁盘用给我存取数据用说IO操作候存两种相应操作存数据候应写IO操作取数据候应读IO操作
单IO操作
控制磁盘控制器接操作系统读IO操作指令候控制器给磁盘发读数据指令并同要读取数据块址传递给磁盘磁盘读取数据传给控制器并由控制器返给操作系统完写IO操作;同写IO操作类似控制器接写IO操作指令要写入数据并其传递给磁盘磁盘数据写入完操作结传递控制器再由控制器返给操作系统完写IO操作单IO操作指完写IO或者读IO操作
随机访问(Random Access)与连续访问(Sequential Access)
随机访问指本IO所给扇区址IO给扇区址相差比较磁两IO操作间需要作比较移作才能重新始读/写数据相反IO给扇区址与IO结束扇区址致或者接近磁能快始IO操作IO操作称连续访问尽管相邻两IO操作同刻发请求扇区址相差能称随机访问非连续访问
顺序IO模式(Queue Mode)/并发IO模式(BurstMode)
磁盘控制器能磁盘组发连串IO命令磁盘组能执行IO命令称顺序IO;磁盘组能同执行IO命令称并发IO并发IO能发由磁盘组磁盘组单块磁盘能处理IO命令
单IO(IO ChunkSize)
熟悉数据库都概念数据库存储基本块(Block Size)管SQL ServerOracle默认块都8KB数据库每读写都8k单位于数据库应用发固定8k单读写写磁盘层面呢于读写磁盘说单IO操作操作数据少呢固定值答案确定首先操作系统提高 IO性能引入文件系统缓存(File System Cache)系统根据请求数据情况自IO请求先放缓存面再性提交给磁盘说于数据库发8K数据块读操作能放磁盘读IO处理于些存储系统提供缓存(Cache)接收操作系统IO请求操作系统 IO请求合并处理管操作系统层面缓存磁盘控制器层面缓存目都提高数据读写效率每单独IO操作都主要取决于系统于数据读写效率判断
IO操作比较候我IO操作比说1K4K8K;IO操作数据量比较候称IO操作比说32K64K甚至更
我说块(Block Size)候通我接触类似概念像我面提数据库面数据管理单位Oralce称块(Block)般8KSQL Server称页(Page)般8k文件系统面我能碰文件系统块现Linux系统都4K(通 /usr/bin/time -v看)作用其实跟数据库面块/页都便数据管理说单IO跟些块都没直接关系英文单IO通称IO Chunk Size说IO Block Size
IOPS(IO per Second)
IOPSIO系统每秒所执行IO操作数重要用衡量系统IO能力参数于单磁盘组IO系统说计算IOPS件难事情要我知道系统完IO所需要间我能推算系统IOPS
现我推算磁盘IOPS假设磁盘转速(Rotational Speed)15K RPM平均寻道间5ms传输速率40MB/s(读写速度视实际差别比较)
于磁盘说完整IO操作进行:控制器磁盘发IO操作命令候磁盘驱臂(ActuatorArm)带读写磁(Head)离着陆区(LandingZone位于内圈没数据区域)移要操作初始数据块所磁道(Track)程称寻址(Seeking)应消耗间称寻址间(SeekTime);找应磁道能马读取数据候磁要等磁盘盘片(Platter)旋转初始数据块所扇区(Sector)落读写磁才能始读取数据等待盘片旋转操作扇区程消耗间称旋转延(RotationalDelay);接随着盘片旋转磁断读/写相应数据块直完IO所需要操作全部数据程称数据传送(DataTransfer)应间称传送间(TransferTime)完三步骤IO操作完
我看硬盘厂商宣传单候我经能看3参数别平均寻址间、盘片旋转速度及传送速度三参数提供给我计算述三步骤间
第寻址间考虑读写数据能磁盘任意磁道既能磁盘内圈(寻址间短)能磁盘外圈(寻址间)所计算我考虑平均寻址间磁盘参数标明平均寻址间采用前10krmp硬盘5ms
第二旋转延寻址磁定位磁道能要读写扇区候需要额外额延立刻读写数据坏情况确实要磁盘旋转整整圈磁才能读取数据所我考虑平均旋转延于10krpm磁盘(60s/15k)*(1/2)= 2ms
第三传送间磁盘参数提供我传输速度要达种速度难度速度却磁盘纯读写磁盘速度要给定单IO我知道磁盘需要花费少间数据传送间IOChunk Size / Max Transfer Rate
现我计算单IO间公式:
IO Time = Seek Time + 60 sec/Rotational Speed/2 + IO ChunkSize/Transfer Rate
于我计算IOPS
IOPS = 1/IO Time = 1/(Seek Time + 60 sec/Rotational Speed/2 + IOChunk Size/Transfer Rate)
于给定同IO我面系列数据
4K (1/7.1 ms = 140 IOPS)
5ms + (60sec/15000RPM/2) + 4K/40MB = 5 + 2 + 0.1 = 7.1
8k (1/7.2 ms = 139 IOPS)
5ms + (60sec/15000RPM/2) + 8K/40MB = 5 + 2 + 0.2 = 7.2
16K (1/7.4 ms = 135 IOPS)
5ms + (60sec/15000RPM/2) + 16K/40MB = 5 + 2 + 0.4 = 7.4
32K (1/7.8 ms = 128 IOPS)
5ms + (60sec/15000RPM/2) + 32K/40MB = 5 + 2 + 0.8 = 7.8
64K (1/8.6 ms = 116 IOPS)
5ms + (60sec/15000RPM/2) + 64K/40MB = 5 + 2 + 1.6 = 8.6
面数据看单IO越候单IO所耗费间越少相应IOPS越
面我数据都比较理想假设理想情况磁盘要花费平均寻址间平均旋转延假设其实比较符合我实际情况随机读写随机读写每IO操作寻址间旋转延都能忽略计两间存限制IOPS现我考虑种相极端顺序读写操作比说读取存储连续布磁盘文件文件存储布连续磁完读IO操作需要新寻址需要旋转延种情况我能IOPS值
4K (1/0.1 ms = 10000 IOPS)
0ms + 0ms + 4K/40MB = 0.1
8k (1/0.2 ms = 5000 IOPS)
0ms + 0ms + 8K/40MB = 0.2
16K (1/0.4 ms = 2500 IOPS)
0ms + 0ms + 16K/40MB = 0.4
32K (1/0.8 ms = 1250 IOPS)
0ms + 0ms + 32K/40MB = 0.8
64K (1/1.6 ms = 625 IOPS)
0ms + 0ms + 64K/40MB = 1.6
相比第组数据说差距非我要用IOPS衡量IO系统系能候我定要说清楚情况IOPS要说明读写式及单IO实际特别OLTP系统随机IO读写说服力
传输速度(Transfer Rate)/吞吐率(Throughput)
现我要说传输速度(另见说吞吐率)磁盘所表明传输速度或者说理想传输速度磁盘实际使用候磁盘系统总线流数据量IOPS数据我容易能计算应传输速度
Transfer Rate = IOPS * IO Chunk Size
面第组IOPS数据我相应传输速度
4K: 140 * 4K = 560K / 40M = 1.36%
8K: 139 * 8K = 1112K / 40M = 2.71%
16K: 135 * 16K = 2160K / 40M = 5.27%
32K: 116 * 32K = 3712K / 40M = 9.06%
看实际传输速度总线利用率非
定要明确概念尽管面我使用IOPS计算传输速度实际传输速度IOPS没直接关系没缓存情况共同决定素都磁盘系统访问式及单IO磁盘进行随机访问候我利用IOPS衡量磁盘系统性能传输速度太;磁盘进行连续访问IOPS已经没参考价值候限制实际传输速度却磁盘传输速度实际应用用IOPS 衡量IO随机读写性能要衡量IO连续读写性能候要采用传输速度能IOPS
IO响应间(IOResponse Time)
关注能直接描述IO性能IO响应间IO响应间称IO延(IOLatency)IO响应间操作系统内核发读或者写IO命令操作系统内核接收IO应间注意要单IO间混淆单IO间仅仅指IO操作磁盘内部处理间IO响应间要包括IO操作IO等待队列所花费等待间
计算IO操作等待队列面消耗间衍于利托氏定理(Little’sLaw)排队模型M/M/1模型遵循由于排队模型算比较复杂现没搞太明白(谁M/M/1模型比较精通欢迎给予指导)罗列结面计算IOPS数据说:
8K IO Chunk Size (135 IOPS, 7.2 ms)
135 => 240.0 ms
105 => 29.5 ms
75 => 15.7 ms
45 => 10.6 ms
64K IO Chunk Size(116 IOPS, 8.6 ms)
135 => 没响应……
105 => 88.6 ms
75 => 24.6 ms
45 => 14.6 ms
面数据看随着系统实际IOPS越接近理论值IO响应间非线性增越接近值响应间变越且比预期超般说实际应用70%指导值说IO读写队列队列于IOPS70%候IO响应间增加相说让比较能接受旦超70%响应间戏剧性暴增所系统IO压力超承受压力70%候必须要考虑调整或升级
另外补充说70%指导值适用于CPU响应间实践证明旦CPU超70%系统变受慢意思东西
篇文章计算我看15k转速磁盘随机读写访问情况IOPS竟140左右实际应用我却能看标5000IOPS甚至更高存储系统IOPS存储系统呢要归结于各种存储技术使用些存储技术使用广高速缓存(Cache)磁盘冗余阵列(RAID)本文探讨缓存磁盘阵列提高存储IO性能
高速缓存(Cache)
各种存储产品按照速度快慢应该内存>闪存>磁盘>磁带速度越快意味着价格越高闪存虽说发展势目前说却价格问题普及现磁盘作霸王代与CPU内存速度相比磁盘速度疑计算机系统瓶颈所必须使用磁盘想提高性能情况想磁盘嵌入块高速内存用保存经访问数据提高读写效率折解决块嵌入内存称高速缓存
说缓存东西应用现已经处处于层应用操作系统层再磁盘控制器CPU内部单磁盘内部都存缓存所些缓存存目都相同提高系统执行效率我关跟IO性能相关缓存与IO性能直接相关几缓存别文件系统缓存(FileSystem Cache)、磁盘控制器缓存(DiskController Cache)磁盘缓存(DiskCache,称DiskBuffer)计算磁盘系统性能候文件系统缓存考虑内我重点考察磁盘控制器缓存磁盘缓存
管控制器缓存磁盘缓存所起作用主要三部:缓存数据、预读(Read-ahead)写(Write-back)
缓存数据
首先系统读取数据缓存高速缓存再需要读取相同数据候用访问磁盘直接缓存取数据使用数据能缓存永久保留缓存数据般采取LRU算进行管理目间用数据清除缓存些经访问却能直保留缓存直缓存清空
预读
预读指采用预读算没系统IO请求候事先数据磁盘读入缓存系统发读IO请求候实现检查看看缓存面否存要读取数据存(即命)直接结返候磁盘再需要寻址、旋转等待、读取数据序列操作能节省间;没命则再发真读取磁盘命令取所需要数据
缓存命率跟缓存关系理论缓存越所能缓存数据越命率自越高缓存能太毕竟本呢容量存储系统配备读缓存候问题比较缓存数据量非相比整存储系统说比例非低随机读取(数据库系统数情况)候命率自低缓存能提高效率(绝部读IO都要读取磁盘)反每匹配缓存浪费间
执行读IO操作读取数据存于缓存数量与全部要读取数据比值称缓存命率(ReadCache Hit Radio)假设存储系统使用缓存情况随机IO读取能达150IOPS缓存能提供10%缓存命率实际IOPS达150/(1-10%)=166
写
首先说用于写功能部缓存称写缓存(WriteCache)套写缓存打存储操作系统所发系列写IO命令并挨执行些写IO命令先写入缓存再性缓存修改推磁盘相于些相同IO合并连续操作IO合并IO随机写IO变组连续写IO能减少磁盘寻址等操作所消耗间提高磁盘写入效率
读缓存虽效率提高明显所带问题比较严重缓存普通内存掉点数据全部丢失操作系统发写IO命令写入缓存即认写入功实际数据没真写入磁盘掉电缓存数据永远丢失应用说灾难性目前解决问题给缓存配备电池保证存储掉电缓存数据能数保存
读写缓存存写缓存命率(WriteCache Hit Radio)读缓存命情况尽管缓存命能实际IO操作免掉合并已
控制器缓存磁盘缓存除面作用外承着其作用比磁盘缓存保存IO命令队列功能单磁盘能处理IO命令却能接收IO命令些进入磁盘未处理命令保存缓存IO队列
RAID(Redundant Array Of InexpensiveDisks)
位数据库管理员或者经接触服务器RAID应该熟悉作廉价存储解决案RAID早已服务器存储普及RAID各级别应RAID10RAID5(RAID5已经基本走RAID6崛起看看解原)应用广面RAID0RAID1RAID5RAID6RAID10几种级别RAID展说磁盘阵列于磁盘性能影响阅读面内容前必须各级别RAID结构工作原理要熟悉才行才至于满雾水推荐查看wikipedia面条目:RAIDStandardRAID levelsNested RAID levels
如何监测windows服务器的性能
Windows服务器中自带的性能监控工具叫做Performance Monitor;在开始-运行中输入‘perfmon’,然后回车即可运行。Monitor本身也是一个进程,运行起来也要占用一定的系统资源。所以你看到的资源的使用量应该比实际的要稍微高一点。这个工具在帮助管理员判断系统性能瓶颈时非常有用;举个列子来说,今天有个用户抱怨说他们项目组的服务器(这是一台虚拟机)运行起来非常慢,但也不知道具体问题出在什么地方。任务管理器里显示CPU和内存的使用量都不算高,但服务器的相应就是非常慢;Monitor,让其运行一段时间后(因为参考平均值会比较准确),发现average disk queue的值比较高,这就说明物理服务器的硬盘负荷太重,I/O操作的速度跟不上系统的要求。关掉虚拟机,将其转移到另一台硬盘负载比较小的主机上,再打开虚拟机。分析性能情况1、内存泄露判断虚拟内存字节数(VirtualBytes)应该远大于工作集字节数(Workingset),如果两者变化规律相反,比如说工作集增长较快,虚拟内存增长较少,则可能说明出现了内存泄露的情况。对于Workingset、Private Bytes、Available bytes这些计数器,如果在测试期间内数值持续增长,而且测试停止后位置在高水平,则也说明存在内存泄露。Windows资源监控中,如果Process\PrivateBytes计数器和Process\WorkingSet计数器的值在长时间内持续升高,同时Memory\Availablebytes计数器的值持续降低,则很可能存在内存泄漏。2、CPU使用情况一般平均不要超过70%,最大不要超过90%(好:70% 、坏:85%、 很差:90%)。3、tps(每秒处理事务的数量,在SOAPUI中进行统计)一般在10-100,不同应用程序具体值不同。