|
8、案例
说明:这个案例不是我的,不记得在哪里找的:
# sar 1 5
01:24:21 %usr %sys %wio %idle
01:24:51 46 5 28 21
01:25:21 46 5 29 20
01:25:51 47 5 30 20
01:26:21 44 5 29 22
01:26:51 45 5 28 22
Average 46 5 29 21
在CPU资源尚未耗尽的情况下,有近1/3的CPU时间在等待磁盘I/O,可以肯定系统资源调度中I/O存在瓶颈;进而监控I/O使用情况:
# iostat –d hdisk3 1 10
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk3 52.1 1086.9 262.6 1025224 1967060
hdisk3 93.0 4704.0 1121.0 636 4068
hdisk3 98.0 1236.0 294.0 400 836
hdisk3 92.0 1556.0 386.0 780 776
hdisk3 81.0 760.0 178.0 696 64
hdisk3 89.0 1032.0 252.0 824 208
hdisk3 92.0 1376.0 329.0 708 668
hdisk3 99.0 1888.0 457.0 292 1596
hdisk3 98.0 1436.0 356.0 660 776
hdisk3 94.0 1624.0 403.0 852 772
hdisk3 99.0 2412.0 589.0 724 1688
可以发现hdisk3平均访问率非常高,几乎在90%以上,但从数据传输量来看其真正的数据量并不大,约为1500Kbps,而且读写均衡,说明运行的应用程序的对磁盘访问有小数据量频繁存取的特点(其实即为电信应用中话务呼叫的应用特点);这里可以肯定的是系统整体性能的瓶颈在于hdisk3的过度访问. 更进一步分析,使用系统监控命令filemon 或 lvmstat可以获得以下信息:
#filemon –o filemon.out; sleep 30; trcstop
#vi filemon.out(部分截取)
util #rblk #wblk KB/s volume description
------------------------------------------------------------------------
1.00 91080 108112 1561.1 /dev/workdbslv1 raw
0.00 0 4072 31.9 /dev/logiclogdbslv raw
0.00 8 4384 34.4 /dev/tcom_filelv /tcom_file
0.00 0 120 0.9 /dev/hd4 /
0.00 0 144 1.1 /dev/hd2 /usr
0.00 0 88 0.7 /dev/loglv01 jfslog
0.00 0 272 2.1 /dev/tcomlv /tcom
0.00 0 32 0.3 /dev/hd8 jfslog
0.00 0 104 0.8 /dev/loglv00 jfslog
0.00 0 8 0.1 /dev/hd3 /tmp
Most Active Physical Volumes
------------------------------------------------------------------------
util #rblk #wblk KB/s volume description
------------------------------------------------------------------------
0.91 91088 116672 1628.2 /dev/hdisk3 SSA Logical Disk Drive
0.00 0 304 2.4 /dev/hdisk0 N/A
0.00 0 360 2.8 /dev/hdisk4 SSA Logical Disk Drive
hdisk3的过分繁忙是由于其中的用于放置数据库表的/dev/workdbslv1裸设备过度繁忙造成的,至此我们可以通过调整裸设备的放置策略和数据库配置参数获得更好的I/O性能:
1.建立workdbslv1时裸设备时使用如下命令调整:
# mklv -y workdbslv1 -t raw –a’c’ datavg 128 hdisk3 hdisk4
hdisk3和hdisk4为属于同一个卷组的两个7133RAID逻辑盘。指定内分配策略。 |
|