首页 > 应用开发 > IT综合 > hds usp 100性能测试
环境:
HDS USP100
60块73G 15000RPM FC盘。
RAID 1+0 2d+2d
每个RAID组划4个ldev。
VG包含15个ldev(分别来自于15个raid组)
lv的stripe size为256k
(写的比较杂乱,没有系统整理过。^_^)
[@more@]
1.RAC的情况下,第一节点刚刚起动后:
set">sys@c2c>set timing on
set">sys@c2c>set autotrace on
select">sys@c2c>select count(*) from all_order;
COUNT(*)
----------
47969692
Elapsed: 00:10:39.25
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'ALL_ORDER'
Statistics
----------------------------------------------------------
384 recursive calls
0 db block gets
2595568 consistent gets
2568853 physical reads
28332 redo size
521 bytes sent via SQL*Net to client
655 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
4 sorts (memory)
0 sorts (disk)
1 rows processed
每秒大概31M
2.RAC情况下,启动第二个节点,第一个节点上做flush cache操作,在第一个节点做全表扫描:
select">sys@c2c>select count(*) from all_order;
COUNT(*)
----------
47981168
Elapsed: 00:08:07.00
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'ALL_ORDER'
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
2600872 consistent gets
2572715 physical reads
617624 redo size
521 bytes sent via SQL*Net to client
655 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
每秒41M左右。
3.关闭第二个节点,第一个节点做flush cache操作后,做全表扫描:
select">sys@c2c>select count(*) from all_order;
COUNT(*)
----------
47991916
Elapsed: 00:06:17.67
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'ALL_ORDER'
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
2585819 consistent gets
2577323 physical reads
2828 redo size
521 bytes sent via SQL*Net to client
655 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
每秒大概53M
4.关闭RAC,起动单节点(单独启动的时间比RAC起动的时间快很多,只需7秒钟,而RAC需要37秒):
select">c2c@c2c>select count(*) from all_order;
COUNT(*)
----------
47997473
1 row selected.
Elapsed: 00:06:10.84
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'ALL_ORDER'
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
2603620 consistent gets
2566199 physical reads
115248 redo size
521 bytes sent via SQL*Net to client
655 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
每秒54M左右。
5.在前面的基础上做一次flush,再做测试:
select">c2c@c2c>select count(*) from all_order;
COUNT(*)
----------
48007832
1 row selected.
Elapsed: 00:06:27.76
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'ALL_ORDER'
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
2595040 consistent gets
2572773 physical reads
15916 redo size
521 bytes sent via SQL*Net to client
655 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
6.在HP DL580,文件系统的环境下:
c2c@C2C> select count(*) from all_order;
COUNT(*)
----------
48086883
1 row selected.
Elapsed: 00:05:22.24
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'ALL_ORDER'
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
3261650 consistent gets
2827347 physical reads
616 redo size
521 bytes sent via SQL*Net to client
656 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
7.dd测试
time">root@trade:/sbin>time dd if=/dev/rtrade_8g_24 of=/dev/null bs=8m
1020+0 records in.
1020+0 records out.
real 0m42.53s
user 0m0.01s
sys 0m3.16s
在dd测试中,用topas可以看到总的吞吐量为190M左右。cpu耗在io wait上面的为6%左右,此lv位于center。
如果测试的lv位于outer edge的话, 则吞吐量可以达到250M左右。
bs采用128K的话, 则吞吐量大概为100M左右。
filemon结果如下:
FILE: /dev/rtrade_8g_2
opens: 1
total bytes xfrd: 8554545152
reads: 65266 (0 errs)
read sizes (bytes): avg 131072.0 min 131072 max 131072 sdev 0.0
read times (msec): avg 1.445 min 0.032 max 94.640 sdev 3.750
平均每次读需要1.445ms。但是最大需要94.64ms。
这种dd的情况下,最大需要94.64ms,这点想不通。不知道这94.64ms中真正消耗在硬盘读数据层面花了多少时间?
而中间过程又消耗了多少时间?
8.IM系统的测试
在im系统中找了一个大概22280M的表格,做全表扫描大约需要715秒,每秒大概31M的速度。当然这是台生产机,io有可能被buffer打断。
-----------
从中可以看出,在RAC的情况下,刚刚启动的性能,还不如flush cache后的性能。
而在单节点的情况下,刚刚启动的性能要稍微好于flush cache后的性能。
另外文件系统的读要比祼设备快。
还有在我的DB中为了提高random 访问,我都是尽可能地使用center的lv,所以全表扫描的性能会比采用outer edge的lv要差一些。
------------
9.lvmstat命令得出的结果如下:
Logical Volume iocnt Kb_read Kb_wrtn Kbps
c2c_8g_123 79411 3894792 77576 18.96
c2c_8g_122 75210 3906048 59224 18.93
c2c_8g_124 74831 3898736 51472 18.86
c2c_8g_121 68365 3953448 42688 19.08
c2c_8g_125 66162 3903544 27352 18.77
c2c_8g_127 62585 3960176 28496 19.04
c2c_8g_128 61537 4059192 24784 19.50
c2c_8g_126 60382 3927744 27616 18.88
可以算出每个lv上面的IOPS为79411/360=220左右。由于8个lv是共用60块盘的,即加到存储层面的总共每秒的IOPS为1764个,每个IO大约
为50Kb。从中可以看出远没有达到硬盘的限制。
在这个过程中,用topas看到的是cpu耗在io wait上面一般有10%左右,总的吞吐量大约为60M-80M/秒。从中表示主机在等待存储的响应。
说明主机应该没有什么问题。
对比dd的测试性能,可以发现这个全表扫描的速度基本上达到了dd的吞吐量了。
10.filemon的结果摘录如下:
VOLUME: /dev/c2c_8g_123 description: raw
reads: 15119 (0 errs)
read sizes (blks): avg 347.9 min 16 max 512 sdev 229.2
read times (msec): avg 3.576 min 0.152 max 271.009 sdev 8.758
read sequences: 3407
read seq. lengths: avg 1543.7 min 16 max 1572864 sdev 28754.7
writes: 8 (0 errs)
write sizes (blks): avg 16.0 min 16 max 16 sdev 0.0
write times (msec): avg 0.458 min 0.376 max 0.568 sdev 0.063
write sequences: 8
write seq. lengths: avg 16.0 min 16 max 16 sdev 0.0
seeks: 3415 (22.6%)
seek dist (blks): init 144,
avg 95961.2 min 16 max 3145728 sdev 419801.8
time to next req(msec): avg 38.153 min 0.000 max 27415.537 sdev 737.204
throughput: 4500.8 KB/sec
utilization: 0.09
从filemon的结果来分析,read times的时间平均为3.576 ms,最大时间达到271ms。同样这个时间不知道是消耗在哪里?
这个需要获得它的resource manager软件才能知道。
下次要找个emc的祼设备来测试一下。
(这种dd的情况下,最大需要94.64ms,这点想不通。不知道这94.64ms中真正消耗在硬盘读数据层面花了多少时间?
而中间过程又消耗了多少时间?)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/100091/viewspace-917162/ ,如需转载,请注明出处,否则将追究法律责任。