1. 环境说明
主机: IBM P520
CPU: 4695MHz × 4
内存: 15744MB
操作系统: AIX 6100-06
存储: 400GB × 4(主机自带磁盘)
# lspv
hdisk0 00cbc586dda5fad1 rootvg active
hdisk1 00cbc586d6338d91 rootvg active
hdisk2 00cbc586551a042f testvg active
hdisk3 00cbc586551a04b7 testvg active
# lsvg testvg
VOLUME GROUP: testvg VG IDENTIFIER: 00cbc58600004c00000
001348260cf99
VG STATE: active PP SIZE: 512 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 1676 (858112 megaby
tes)
MAX LVs: 256 FREE PPs: 875 (448000 megabyt
es)
LVs: 8 USED PPs: 801 (410112 megabyt
es)
OPEN LVs: 8 QUORUM: 2 (Enabled)
TOTAL PVs: 2 VG DESCRIPTORS: 3
STALE PVs: 1 STALE PPs: 100
ACTIVE PVs: 2 AUTO ON: yes
MAX PPs per VG: 32512
MAX PPs per PV: 1016 MAX PVs: 32
LTG size (Dynamic): 1024 kilobyte(s) AUTO SYNC: no
HOT SPARE: no BB POLICY: relocatable
PV RESTRICTION: none
# lsvg -l testvg
testvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
stripe256lv jfs2 100 100 2 open/syncd /stripe256lv
stripe512lv jfs2 100 100 2 open/syncd /stripe512lv
stripe1024lv jfs2 100 100 2 open/syncd /stripe1024lv
stripe4096lv jfs2 100 100 2 open/syncd /stripe4096lv
stripe8192lv jfs2 100 100 2 open/syncd /stripe8192lv
loglv00 jfs2log 1 1 1 open/syncd N/A
nostripelv jfs2 100 100 1 open/syncd /nostripelv
# lslv nostripelv
LOGICAL VOLUME: nostripelv VOLUME GROUP: testvg
LV IDENTIFIER: 00cbc58600004c00000001348260cf99.7 PERMISSION: read/writ
e
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs2 WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 512 megabyte(s)
COPIES: 1 SCHED POLICY: parallel
LPs: 100 PPs: 100
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: minimum RELOCATABLE: yes
INTRA-POLICY: middle UPPER BOUND: 32
MOUNT POINT: /nostripelv LABEL: /nostripelv
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?: NO
# lslv stripe256lv
LOGICAL VOLUME: stripe256lv VOLUME GROUP: testvg
LV IDENTIFIER: 00cbc58600004c00000001348260cf99.1 PERMISSION: read/writ
e
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs2 WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 512 megabyte(s)
COPIES: 1 SCHED POLICY: striped
LPs: 100 PPs: 100
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: maximum RELOCATABLE: no
INTRA-POLICY: middle UPPER BOUND: 2
MOUNT POINT: /stripe256lv LABEL: /stripe256lv
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes (superstrict)
Serialize IO ?: NO
STRIPE WIDTH: 2
STRIPE SIZE: 256K
# lslv stripe512lv
LOGICAL VOLUME: stripe512lv VOLUME GROUP: testvg
LV IDENTIFIER: 00cbc58600004c00000001348260cf99.2 PERMISSION: read/writ
e
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs2 WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 512 megabyte(s)
COPIES: 1 SCHED POLICY: striped
LPs: 100 PPs: 100
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: maximum RELOCATABLE: no
INTRA-POLICY: middle UPPER BOUND: 2
MOUNT POINT: /stripe512lv LABEL: /stripe512lv
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes (superstrict)
Serialize IO ?: NO
STRIPE WIDTH: 2
STRIPE SIZE: 512K
# lslv stripe1024lv
LOGICAL VOLUME: stripe1024lv VOLUME GROUP: testvg
LV IDENTIFIER: 00cbc58600004c00000001348260cf99.3 PERMISSION: read/writ
e
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs2 WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 512 megabyte(s)
COPIES: 1 SCHED POLICY: striped
LPs: 100 PPs: 100
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: maximum RELOCATABLE: no
INTRA-POLICY: middle UPPER BOUND: 2
MOUNT POINT: /stripe1024lv LABEL: /stripe1024lv
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes (superstrict)
Serialize IO ?: NO
STRIPE WIDTH: 2
STRIPE SIZE: 1M
# lslv stripe4096lv
LOGICAL VOLUME: stripe4096lv VOLUME GROUP: testvg
LV IDENTIFIER: 00cbc58600004c00000001348260cf99.4 PERMISSION: read/writ
e
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs2 WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 512 megabyte(s)
COPIES: 1 SCHED POLICY: striped
LPs: 100 PPs: 100
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: maximum RELOCATABLE: no
INTRA-POLICY: middle UPPER BOUND: 2
MOUNT POINT: /stripe4096lv LABEL: /stripe4096lv
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes (superstrict)
Serialize IO ?: NO
STRIPE WIDTH: 2
STRIPE SIZE: 4M
# lslv stripe8192lv
LOGICAL VOLUME: stripe8192lv VOLUME GROUP: testvg
LV IDENTIFIER: 00cbc58600004c00000001348260cf99.5 PERMISSION: read/writ
e
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs2 WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 512 megabyte(s)
COPIES: 1 SCHED POLICY: striped
LPs: 100 PPs: 100
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: maximum RELOCATABLE: no
INTRA-POLICY: middle UPPER BOUND: 2
MOUNT POINT: /stripe8192lv LABEL: /stripe8192lv
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes (superstrict)
Serialize IO ?: NO
STRIPE WIDTH: 2
STRIPE SIZE: 8M
2. 测试方法
在对应的lv上建立文件系统,通过iozone对各文件系统的读写吞吐量进行测试。
主要针对Writer,Re-writer,Reader,Re-reader,Rondom Read,Rondom Write进行测试。
此次测试执行的命令如下:
./iozone -n 512m -g 32g -i 0 -i 1 -i 2 -Rab stripe8192lv.xls
iozone的使用说明请参考http://www.iozone.org
3. 测试结论
连续写:
1、 未做条带化的性能相当于条带化后的一半
2、 条带化为256k和512k的性能最优,1m与之差距不大,1m以后随着条带化大小的加大,性能逐步下降
3、 块大小大于1m以后,吞吐量开始明显有下降,小于1m的情况下差距不大
4、 随着文件的增大,性能逐步下降
连续读:
1、 块大小为1m时性能最佳,当块大小为16m时,性能骤降
2、 条带化对于吞吐量的影响不大
3、 当读取文件大于16g时,性能骤降
随机读结论同连续读
随机写:
1、 块小于256k时性能较好,大于256k后性能骤降
2、 写大于16g的文件时性能骤降
综合结论:
1、 文件大小需要控制,随着文件的变大,读写性能也会逐步降低,特别是当文件大于16g的时候,性能衰退更为明显。针对数据库的数据文件,单个文件需要控制在8g以内,且不能让其自主扩展。对于undo,temp表空间的数据文件,也应适时进行重建,以控制其大小。
2、 对于写频繁的业务系统,磁盘规划时必须要进行条带化以提高性能。
3、 对于条带化大小需要根据业务系统的IO性质来觉得,对于OLTP系统,256k及512k为佳。
4、 程序如可控制每次读写块的大小时,应采用与LTG大小为块大小。
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/41451/viewspace-1057792/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/41451/viewspace-1057792/