1、主机及存储设备性能监控方案一 背景和目标目前,为各省配备的小型机和存储设备都已进入稳定运行阶段,总局信息中心决定在各省开展小型机和存储设备的性能监控工作,对小型机和存储设备的主要性能数据进行定期采集,了解和掌握当前设备的性能和压力状况,为基础设施的运行维护、资源优化和建设规划工作积累经验和提供依据。二 监控范围主机及存储设备性能监控的范围主要包括总局统一为各省配备的HP 小型机( superdome) 、IBM 小型机(P595 ,P570 )和 EMC 磁盘阵列设备。三 监控时间主机及存储设备性能监控工作将对连续 3 个月内的关键时间点对HP 小型机、 IBM 小型机和 EMC 磁盘阵列设备
2、的关键性能指标进行数据采集,建议在系统忙时和闲时分别进行检测。一般建议每月至少监控4 天,其中征期至少两天,非征期至少两天;每天监控至少 4 次,其中忙时至少两次,闲时至少两次。具体监控时间和详细的监控次数,各省可根据本省的业务特点进行确定和调整。四 监控方式主机及存储设备性能监控通过运行小型机及存储设备自带的命令对关键性能指标进行查看,并进行数据采集。技术方案第五部分详细介绍了 HP 小型机、 IBM 小型机和 EMC 磁盘阵列性能监控命令的操作指南。数据采集工作可直接按照操作指南运行命令进行,也可以通过运行命令脚本(详见附件三)进行。五 操作指南5.1 IBM 小型机性能监控方案5.1.1
3、 系统性能检查方式及说明:(一)IBM 小型机性能监控均通过 IBM AIX 系统自带命令,非第三方软件。IBM AIX 系统安装后,无需额外安装任何软件包即可使用。(二)IBM 小型机性能监控的命令,均不额外增加系统负荷。即是说当系统繁忙度较高时,仍可执行下列命令,且不对系统造成影响。(三)采样数据的保存。通过执行 IBM 小型机性能监控命令,输出结果的保存办法,一般常用以下几种:1、使用专业的 telnet 工具登录到主机上。专业 telnet 工具均会含有“捕获输出文字”的功能,只要打开捕获输出文字功能,所有的输出均会记录到文件中。 (推荐,不影响系统)2、使用 AIX 系统的输出重定向
4、功能。命令格式: # 命令 文件名 上面的方式是将命令的输出结果直接输出到一个文件中。例如: # vmstat 2 10 /tmp/vm_output这个命令会将 命令 vmstat 2 10 的输出结果放在 /tmp 目录下的vm_output 文件中。5.1.2 IBM 小型机性能监控方案IBM 小型机性能监控方案主要对 IBM 小型机的 CPU 状况、磁盘I/O 吞吐状况、内存及虚拟内存使用率和硬盘空间状况等关键指标进行性能监控,具体操作如下: CPU 状况监控方式:通过 vmstat 命令检查系统 CPU 使用情况操作示例:#vmstat 2 10 参数说明: 2 表示每隔 2 秒取样
5、一次,10 表示共取样 10 次。这 2 个参数的具体值可以根据需要自由定义。输出示例:# vmstat 2 10System configuration: lcpu=2 mem=3920MBkthr memory page faults cpu - - - - -r b avm fre re pi po fr sr cy in sy cs us sy id wa0 0 229367 332745 0 0 0 0 0 0 3 198 69 0 0 99 00 0 229367 332745 0 0 0 0 0 0 3 33 66 0 0 99 00 0 229367 332745 0 0 0
6、0 0 0 2 33 68 0 0 99 00 0 229367 332745 0 0 0 0 0 0 80 306 100 0 1 97 10 0 229367 332745 0 0 0 0 0 0 1 20 68 0 0 99 00 0 229367 332745 0 0 0 0 0 0 2 36 64 0 0 99 00 0 229367 332745 0 0 0 0 0 0 2 33 66 0 0 99 00 0 229367 332745 0 0 0 0 0 0 2 21 66 0 0 99 00 0 229367 332745 0 0 0 0 0 0 1 237 64 0 0 99
7、 00 0 229367 332745 0 0 0 0 0 0 2 19 66 0 0 99 00 0 229367 332745 0 0 0 0 0 0 6 37 76 0 0 99 0输出说明:(1)page部分pi列表示 page in;po列表示 page out。pi和 po的数值一般为 0。如果长期不为 0,说明系统需要频繁的进行从硬盘上的虚拟内存部分进行页的交换,物理内存不足。(2)cpu 部分:us列表示用户进程占用的 CPU 的百分比;sy列表示系统进程占用的 CPU 的百分比;id列表示空闲的 CPU 的百分比;wa表示 CPU 处于等待 IO 状态的百分比.;一般如果 i
8、d 项的值长期低于 20%说明系统 CPU 不足,须考虑增加 CPU 或优化程序;如果 wa 的值长期高于 us 和 sy,说明系统 IO 存在瓶颈.须用 topas,iostat 等命令确定瓶颈所在并增加 IO 吞吐量。 磁盘 IO 吞吐监控方式:通过 iostat 命令检查磁盘 IO 状况操作示例: #iostat 2 10参数说明: 2 表示每隔 2 秒取样一次,10 表示共取样 10 次。这 2 个参数的数值可以根据需要自由定义。输出示例:# iostat 2 10System configuration: lcpu=16 drives=108 ent=8.00 paths=3 vdi
9、sks=0tty: tin tout avg-cpu: % user % sys % idle % iowait physc % entc0.0 0.0 0.0 0.0 100.0 0.0 0.0 0.1- - - - -Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk0 0.0 0.0 0.0 0 0hdisk1 0.0 0.0 0.0 0 0hdisk2 0.0 0.0 0.0 0 0hdisk4 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0cd0 0.0 0.0 0.0 0 0输出说明:输出结果输出结果会按照每个磁盘
10、进行排列, 主要观察的参数如下:(1)% tm_act 说明该磁盘处于活动状态的时间比率。(2)Kbps 说明该磁盘每秒的读写数据量。如果 tm_act 长期处于 90%以上的状态,且 Kbps 数据量很大,则说明该磁盘繁忙程度过高,需要通过增加磁盘或者更改应用来将数据量平均分配到其他磁盘。 内存及虚拟内存使用率监控方式:通过 lsps a 命令查看交换分区状况来了解系统内存及虚拟内存使用情况。操作示例: #lsps a输出示例:#lsps aPage Space Physical Volume Volume Group Size %Used Active Auto Typehd6 hdisk
11、0 rootvg 6144MB 1 yes yes lv输出说明:(1)Page Space:列出该交换分区的逻辑卷名称。(2)Physical Volume:列出该交换分区位于那个物理卷,在有条件的情况下建议交换分区分散分布在不同的物理卷上以提高性能。(3)Size :该交换分区的大小。一般交换分区的大小不应小于物理内存的大小,对于硬盘空间紧张的系统,至少也要保证物理内存的一半大小。(4)%Used :交换空间的使用率。如果使用率长期高于 80,需要增加交换分区的大小(该操作可在线完成) 。(5)Active:表示该分区是否已经激活。(6)Auto:表示该分区是否在每次重启后自动激活.。 硬
12、盘空间监控方式:通过#lsvg rootvg 命令查看卷组信息来了解硬盘空间分配情况。操作示例: #lsvg rootvg输出示例:VOLUME GROUP: rootvg VG IDENTIFIER: 000bc6fd00004c00000000fda469279dVG STATE: active PP SIZE: 16 megabyte(s)VG PERMISSION: read/write TOTAL PPs: 542 (8672 megabytes)MAX Lvs: 256 FREE PPs: 431 (6896 Megabytes)LVs: 9 USED PPs: 111 (1776
13、 megabytes)OPEN LVs: 8 QUORUM: 2TOTAL PVs: 1 VG DESCRIPTORS: 2STALE PVs: 0 STALE PPs: 0ACTIVE PVs: 1 AUTO ON: yesMAX PPs per VG: 32512MAX PPs per PV: 1016 MAX PVs: 32LTG size (Dynamic): 256 kilobyte(s) AUTO SYNC: noHOT SPARE: no BB POLICY: relocatable输出说明:(1)主要指标为 PP size 和 Free PPs 。(2)通过查看 Free PP
14、s 项可以了解该 VG 还有多少空间可以使用。Free PPsPP size 就是 VG 剩余空间的大小。如果 Free 的 PP 个数与 Total PP 个数相比已经非常小,说明空间已经不足,如果该 VG 内容会不断增长,请及时增加 VG 的大小 综合监视命令 topas监控方式:通过 topas 命令报告选定的本地系统活动的统计信息。该命令使用 curses 库以合适的格式来显示其输出,该格式适合于在一个 80x25 基于字符的显示器上或至少同样大小的图形显示器的窗口中进行查看。操作示例: #topas输出示例:输出说明:使用 topas 命令可以对 CPU,网络,IO ,进程等很多方面
15、进行监控,并输出到屏幕上。输出结果只能通过显示屏实时显示,无法导出。(1) CPU。 最左上显示 CPU 的使用情况, User:显示以用户方式执行的程序所使用的 CPU 的百分比。(缺省按用户百分比排序) Kernel:显示以内核方式执行的程序所使用的 CPU 的百分比。Wait:显示用于等待 IO 的时间的百分比。 Idle:显示 CPU 空闲时间的百分比。(2)网络。 CPU 下方是网络部分的使用情况,显示目前最繁忙的网络接口的信息KBPS :每秒的网络接口流量,KByte 为单位。(3)磁盘。网络下方是磁盘,显示目前最繁忙的磁盘的信息busy% :磁盘的繁忙程度,100 为最高。KBP
16、S :每秒的磁盘读写流量,KByte 为单位。(4)进程安装占用系统资源多少排列,列出占用系统资源最多的进程。Name :进程名PID:进程的系统 ID 号CPU%:进程占用的 CPU 的百分比PgSp:进程占用的交换空间的比率。(5)其它可用 #man topas 命令得到该命令的全部指标说明,在此不做详述。5.2 HP 小型机性能监控方案5.2.1 HP 小型机性能监控方案 CPU 平均使用率监控方式:通过 sar u 命令检查系统 CPU 平均使用率。操作示例:#sar u 3 30 ( 每隔 3 秒采样一次,共采样 30 次)输出示例:输出说明:(1)在业务高峰期使用 sar u 命令
17、 %usr :用户模式占用的时间百分比%sys:系统模式占用的时间百分比%wio:用于块、字符和虚拟内存管理的 I/O 管理时间%idle:CPU 的空闲时间sar -uM: 显示主机上每个 cpu 的使用情况.结果分析:首先应看%idle 是否接近于 0. 如果是,那么看%wio 是否大于 7%. 如果%wio 大于 7%,可能需要考虑是否有 IO 瓶颈。如果%wio 很小,但 CPU 依然很忙,要看一下%usr 与%sys 的比率。如果%usr 很高,则可能说明用户的应用程序造成 CPU 瓶颈。如果大部分时间被%sys 占用,需要进一步分析为什么系统会占用这么多时间。比如说内存的瓶颈,造成
18、操作系统频繁的做 swapping 操作,就是一个可能的原因。参考标准:对于一个典型的系统,通常的建议值是:%usr %sys %wio %idle60 25 0 15 IO 所占用 CPU 使用率监控方式:记录%wio 值(数据采样方式见上述 CPU 平均使用率的数据采样方式) 。如果%wio 较高,可使用 sar d 命令观察各个设备的状态,作进一步分析。结果分析:通常一个设备的%busy50%,则说明可能存在 IO 瓶颈。另外一个标志是其 avwaitavserv。另外,系统中各个设备的使用应该比较均衡。检查哪些设备使用率明显高于其他设备。如果该设备是存放用户数据库数据,那么可以考虑建议
19、用户将这部分数据尽量分散到多个设备上。如果是操作系统盘,需要关注是不是在做大量的 swapping 操作(内存瓶颈,sar -w) 。 内存占用率监控方式:通过 top 命令检查系统内存的使用情况。操作示例:#top输出示例:结果分析:在 memory:一行有 xxxxxk free 一项,为系统当前的剩余内存数。按照当前的空闲内存为 0.9G,如系统当前的物理内存总量为 8G,则当前的内存占用率可通过如下方法计算得出: (8-0.9)/8=0.89,即系统当前的内存占用率为 89% 交换区使用情况监控方式:通过 swapinfo atm 命令检查交换去使用情况。操作示例:#swapinfo
20、atm输出示例:Mb Mb Mb PCT START/ MbTYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAMEdev 2560 0 2560 0% 0 - 1 /dev/vg00/lvol2reserve - 559 -559total 2560 559 2001 22% - 0 -结果分析:swap 区正常情况下应当使用率没有大的变化,应注意监控该参数的变化。 参考经验值:一般情况下,判定参考经验值如下:CPU 利用率 programs-ECC-WLA performance view 启动性能监控界面,选择打开本地硬盘的 c:eccWLA目录下
21、某一天的性能文件*.btp 来分析以前的历史数据。检查频率:每天一次,自动生成*.btp 性能文件。处置方案:*.btp 文件是以日期为头来命名,自动保存在 ECC 服务器中,可随时抽样检查。管理员需每天在 ECC 服务器的相应目录下确认是否成功生成该文件。(二)命令行方式。监控方式描述:在主机上通过 EMC Solution Enabler 的 symstat 命令。用来监控每个 Lun 的使用率,读写 IOPS,读写 IO Throughput 和Write Pending Count,监控整个盘阵的性能指标。检查频率:每天收集 4 次性能数据,分别为 10:00,12:00,14:00,
22、16:00处置方案:定时运行脚本,将脚本输出内容导出到文件中,定期填写表格并保存该原始文件。5.3.2EMC 存储设备性能监控方案ECC 软件主要用于故障告警,在正常运行状态下的数据采集多采用命令行方式进行。命令行只能收集实时的数据,最好在业务繁忙期进行收集最有代表性。(一)设备性能监控命令如下: 1、/usr/symcli/bin/symstat -i * -c * /usr/emc/symstat.071228用来收集整个存储的磁盘性能数据,导入到/usr/emc 目录下的“symstat.日期 ”的文件中,-i 后面跟的参数是指“收集数据的间隔时间” ,-c 后面跟的参数是指“收集多少次
23、”。2、/usr/symcli/bin/symstat -dir all -i * -c * /usr/emc/symstat_dir.071228用来收集整个存储的通道流量,导入到/usr/emc 目录下的“symstat_dir.日期” 的文件中,-i 后面跟的参数是指“收集数据的间隔时间”,-c 后面跟的参数是指 “收集多少次”。3、同时,可以使用/usr/symcli/bin/symevent -error list /usr/emc/symevent.error来收集存储的错误报警信息,导入到/usr/emc 目录下的“symevent.error”的文件中,定期传给 EMC 工程师
24、来监控,看是否存在存储故障。(二)导出文件实例:命令行方式导出文件的命名方式(推荐使用):/usr/symcli/bin/symstat /usr/emc/.symstat. /usr/symcli/bin/symstat -dir all /usr/emc/.symstat-dir.例如,执行命令/usr/symcli/bin/symstat /usr/emc/.symstat. 和/usr/symcli/bin/symstat -dir all /usr/emc/.symstat-dir.导出文件如下:Beijing.symstat.070313#DEVICE IO/sec KB/sec
25、% Hits %Seq Num WP15:21:26 READ WRITE READ WRITE RD WRT READ Tracks15:23:270001 (rhdiskpower*) 6 0 670 0 50 N/A 67 00002 (Not Visible ) 7 0 639 0 43 N/A 71 00003 (Not Visible ) 7 0 650 0 43 N/A 71 00004 (Not Visible ) 7 0 676 0 43 N/A 71 0- - - - - - - -Total 2128 239 147366 3274 62 96 56 732#Beijin
26、g.symstat-dir.070313#DIRECTOR IO/sec Cache Requests/sec % RW 15:22:29 READ WRITE RW Hits 15:24:29DA-1A 288 376 32 408 0DA-2A 351 469 45 515 0FA-3A 1054 2738 20 2758 87FA-14A 991 2618 19 2637 87DA-15A 365 502 36 538 0DA-16A 356 483 32 516 0DA-1B 314 407 38 445 0DA-2B 285 373 30 403 0FA-3B 384 206 220
27、 426 72FA-14B 384 199 222 421 72DA-15B 275 358 38 396 0DA-16B 361 491 35 527 0- - - - -Total 5408 9220 767 9990 53#(三)性能监控点说明(具体参数参见上述导出文件实例)1、整个阵列的 IOPS:二级监控点每秒钟整个盘阵总的 IO 量,一般达到 20000 就属于高的。主机命令行方式:*.symstat-dir.*文件中的 IO/sec 列的 total 值2、某个应用的 Cache Requests:二级监控点如果该应用独占某个 FA 端口,可以通过对 FA 端口 Cache Re
28、quests/sec的监控该应用的性能,一般读 Cache Requests/sec 达到 5000,写 Cache Requests/sec 达到 2000 就属于高的。主机命令行方式:*.symstat-dir.*文件中某个 FA 端口的读写 Cache Requests/sec 列3、某个 FA 端口的 Cache 命中率:二级监控点每秒钟每个 FA 卡的 Cache RW Requests 的命中率,与主机命中率相关。如果主机命中率高的话,盘阵命中率低就不一定是性能问题。主机命令行方式: *.symstat-dir.*文件中的 RW Hits 列4、整个阵列的吞吐量:二级监控点每秒钟阵
29、列中全部磁盘的 RW 量总和,一般超过 300MB/s 就属于高的 主机命令行方式:*.symstat.* 文件中 total write and read kb/sec5、某个磁盘的 write IO/sec:二级监控点一般来说,某个磁盘的 write IO/sec 超过 100 的就属于高的,如果这样的磁盘很多的话,性能就会有下降。主机命令行方式:*.symstat.* 文件中 write IO/sec5.4 性能监控命令5.4.1 IBM 小型机性能监控命令1、CPU 监控命令 #vmstat2、磁盘 IO 监控命令 #iostat3、内存及虚拟内存使用率监控命令 #lsps a4、硬盘
30、空间监控命令 #lsvg rootvg5、综合监视命令 #topas5.4.2 HP 小型机性能监控命令1、CPU 及 IO 监控命令 #sar u2、内存占用率 #top3、交换区监控命令 #swapinfo atm5.4.3 EMC 存储性能监控命令1、磁盘性能监控命令 /usr/symcli/bin/symstat -i * -c * /usr/emc/symstat. 2、通道流量监控命令 /usr/symcli/bin/symstat -dir all -i * -c * /usr/emc/symstat_dir. 3、错误报警信息收集/usr/symcli/bin/symevent -error list /usr/emc/symevent.error4、导出文件命令/usr/symcli/bin/symstat /usr/emc/.symstat. /usr/symcli/bin/symstat -dir all /usr/emc/.symstat-dir.