Orionoracle提供的测试io性能的工具详解Word文档格式.docx

上传人:b****3 文档编号:6359789 上传时间:2023-05-06 格式:DOCX 页数:20 大小:25.81KB
下载 相关 举报
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第1页
第1页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第2页
第2页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第3页
第3页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第4页
第4页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第5页
第5页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第6页
第6页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第7页
第7页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第8页
第8页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第9页
第9页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第10页
第10页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第11页
第11页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第12页
第12页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第13页
第13页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第14页
第14页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第15页
第15页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第16页
第16页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第17页
第17页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第18页
第18页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第19页
第19页 / 共20页
Orionoracle提供的测试io性能的工具详解Word文档格式.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Orionoracle提供的测试io性能的工具详解Word文档格式.docx

《Orionoracle提供的测试io性能的工具详解Word文档格式.docx》由会员分享,可在线阅读,更多相关《Orionoracle提供的测试io性能的工具详解Word文档格式.docx(20页珍藏版)》请在冰点文库上搜索。

Orionoracle提供的测试io性能的工具详解Word文档格式.docx

ORION对Oracle管理员

Oracle管理员可以根据期望的工作量使用Orion来评估和比较不同的存储阵列。

他们也可以

用Orion来决定峰值时优化的网络连接数,存储阵列数,存储阵列控制器数,和磁盘数。

录A描述了根据数据库现在的工作量来推测IOPS和MBPS需求。

开始使用Orion

1.下载orion:

有Linux/x86,Solaris/SPARC和Windows/x86版本

2.安装Orion

 

Linux/Solaris:

解压Orion执行文件。

gunziporion_linux_x86-64.giz

Windows:

运行安装程序

C:

\temp>

orion_windows_x86-64.msi

3.选择测试名,我们使用的名是mytest

4.创建文件名mytest.lun,例如:

/dev/raw/raw1

/dev/raw/raw2

...

/dev/raw/raw8

5.验证设备是不是可以访问。

Linux可以用下面的命令:

$ddif=/dev/raw/raw1f=/dev/nullbs=32kcount=1024

1024+0recordsin

1024+0recordsout

6.验证在你的平台上已经有异步IO的类库。

Orion测试完全是依赖异步的IO。

在linux和

solaris,类库libaio需要安装并被访问。

环境变量名是LD_LIBRARY_PATH或者是LIBPATH,

window已经安装异步IO。

7.第一次测试,建议使用simple,simple测试衡量在不同的负载下的小随机读和大的随

机读。

这些结果给我一些想法,不同类型的IO和负载下的IO性能。

simple测试的命令:

./orion_linux_x86-64-runsimple-testnamemytest-num_disks4

ORION:

ORacleIONumbers--Version11.1.0.7.0

mytest_20101218_2205

Testwilltakeapproximately30minutes

Largercachesmaytakelonger

Orion生成的IO负载层次考虑了在mytest.lun文件中磁盘的数目。

8.结果将被记录在输出文件中。

输出文件:

Orion将产生几个输出文件,

1.mytest_summary.txt:

这个文件包含:

a.输入参数

b.针对大的随机和连续的工作量下观察到的最大的吞吐量

c.针对小的随机的工作量的IO速率

d.针对小的随机的工作量的最小的延迟时间。

[root@dbs101software]#moremytest_20101218_2205_summary.txt

ORIONVERSION11.1.0.7.0

Commandline:

-runsimple-testnamemytest-num_disks4

Thismapstothistest:

Test:

mytest

SmallIOsize:

8KB

LargeIOsize:

1024KB

IOTypes:

SmallRandomIOs,LargeRandomIOs

SimulatedArrayType:

CONCAT

Write:

0%

CacheSize:

NotEntered

DurationforeachDataPoint:

60seconds

SmallColumns:

 

0

LargeColumns:

0, 

1, 

2, 

3, 

4, 

5, 

6, 

7, 

8

TotalDataPoints:

29

Name:

/dev/sda5Size:

102404703744

/dev/sdb1Size:

/dev/sdc1Size:

/dev/sdd1Size:

4FILEsfound.

MaximumLargeMBPS=62.80@Small=0andLarge=7

MaximumSmallIOPS=647@Small=20andLarge=0

MinimumSmallLatency=7.32@Small=1andLarge=0

2.mytest_mbps.csv文件:

这是个csv文件。

包含大的随机或者连续的IO工作量。

所有的csv

输出文件有个2维表。

行代表大的IO负载层次。

列代表小的IO负载层次。

simple测试不包含

大的和小的IO结合。

所以MBPS文件只有一个列,0代表没有小的IO。

#moremytest_20101218_2205_mbps.csv

Large/Small, 

8, 

9, 

10, 

11, 

12, 

13, 

14, 

15, 

16, 

17, 

18, 

19, 

20

35.27

49.03

55.23

58.20

60.33

60.34

62.80

62.44

在这个例子中,当负载层次在5的时候,没有小的IO操作,我们得到的数据吞吐量是60.33MBPS

我们可以用excel图形来显示MBPS的速率。

test_20101218_2205_mbps.csv

3.mytest_iops.csv:

这是个小的随机的IO工作量的IOPS吞吐量。

4.mytest_lat.csv:

这是个小的随机的IO工作量下的延迟时间。

#moremytest_20101218_2205_lat.csv

18, 

19, 

7.32, 

8.63, 

9.93, 

11.15, 

12.31, 

13.38, 

14.59, 

15.71, 

16

.83, 

18.23, 

19.36, 

20.45, 

21.77, 

23.02, 

24.43, 

25.73, 

27.16, 

28.23, 

.57, 

30.87

1

2

3

4

5

6

7

5.mytest_trace.txt:

包含扩展的,未处理的测试输出。

输入参数:

Orion可以使用命令的参数来测试任意一种工作量。

强制输入的参数:

run:

测试运行的层次,这个选项提供simple,normal,advanced的层次。

如果没有指定

advanced,那么设置有些非强制的参数(-cache_size和-verbose)将会出错。

simple:

产生小的随机的IO和大的连续的IO工作量。

在这个选项中,小的随机的IO和

大的连续的IO是分开测试的。

这个参数对应下列的Orion调用:

./orion-runadvanced-testnamemytest\

-num_disks4\

-size_small8-size_large1024-typerand\

-simulateconcat-write0-duragion60\

-matrixbasic

normal:

除了simple的功能外,还会产生小的随机的IO和大的连续的IO的结合。

-matrixdetailed

advanced:

如果用这个选项,用户需要指定可选的参数。

testname:

输入文件必须是<

testname>

.lun

num_disks:

实际测试的物理磁盘的数目。

可选的输入参数:

help:

帮助信息

size_small:

小的随机工作量的IO的大小(KB)

size_large:

大的随机的或者连续工作量的大小(KB)。

type:

大的IO的工作量(默认是rand):

rand:

大的随机的IO

seq:

大的连续的IO

num_streamIO:

每个大的连续读写流的IO数目。

只是在-typeseq下使用。

simulate:

大的连续的IO工作量小的数据分布。

contact:

串联指定的luns成一个虚拟的卷。

在虚拟的卷上的连续的测试从某个点到一个

lun的结束点。

然后再到下一个lun。

raid0:

在指定的luns上条带化成一个虚拟的卷。

条带的大小是1M(和asm的条带大小一

致),可以通过参数-stripe来更改。

write:

和读相比的写的百分比,这个参数在小的随机的和大的连续的IO工作量下适用。

在大

的连续的IO,每个读写流要么是读要么是写。

这个参数是指只是写百分比。

写的数据都是垃

圾数据。

写的测试将破坏的指定的lun。

cache_size:

存储阵列的读写缓存大小(MB)。

针对大的连续的IO工作量,Orion将在每个测

试点之前warm的cache。

使用缓存大小来决定缓存操作。

如果没有指定,将有个默认值。

如果

是0的话,将没有warm缓存。

duration:

每个测试点的时间。

(默认是60)

matrix:

混合工作量测试的类型

basic:

没有混合的工作量,小的随机的IO和大的连续的IO分开测试。

detailed:

小的随机的IO和大的连续的IO结合起来测试。

point:

单个测试点,S代表小的随机的IO,L代表大的随机/连续的IO。

S-num_small

L-num_large

col:

大的随机/连续的IO

row:

小的随机的IO

max:

和detailed一样,只是在最大的负载下测试工作量。

可以用-num_small和

-num_large参数指定。

num_small:

小的随机的IO的最大数目。

num_large:

大的随机的IO或者一个读写流的并发数目。

verbose:

打印进度和状态到控制台。

命令行例子:

为了理解你的存储性能,小的随机读和大的随机IO读工作量,先开始运行:

./orion-runsimple-num_disks4-testnamemytest

测试小的随机读和大的随机读的IO工作量,运行:

./orion-runnormal-testnamemytest-num_disks4

测试32K和1MB随机读的组合

./orion-runadvanced-testnamemytest-num_disks4-size_small32\

-size_large1024-typerand-matrixdetailed

测试1MB连续写流,仿真1MB的raid-0条带化

./orion-runadvanced-testnamemytest-num_disk4-simulateraid0\

-stripe1024-write100-typeseq-matrixcol-num_small0

常见问题:

在<

.lun中的卷发生IO错误:

用dd拷贝文件命令来验证

验证操作系统支持异步IO

在linux和solaris中,类库libaio必须在类库路径中

如果使用的是NAS

确保文件系统被加载

<

.lun的文件要包含一个或多个已有文件,Orion不和目录或加载点工

作。

文件要足够大,能代表你实际数据文件大小。

NFS在linux下异步IO性能很差

如果测试的时候遇到没有初始化的或者未写过的块的时候,有些智能的NAS系统

将产生伪造的数据,解决方法是写所有的块。

如果在windows下测试

在裸设备上测试的时候,要映射一个盘符

如果是运行32位Orion在64位Linux上

拷贝一份32位的libaio到64位机器上

如果测试的磁盘数超过30

你应该使用duration参数,并为每个测试点制定一个更长的时间(120秒)。

为Orion让所有的轴都运行在一个负载下。

每个测试点需要加大时间。

你可能遇到下列的错误

specifyalonger-durationvalue.

类库的错误

参考第一个常见错误

NT-ONLY:

确保oracle的类库和orion在同一个目录

遇到”unbelievablygood"

可能有个很大读写缓存,一般存储阵列控制器有很大的影响。

找出缓存的大小,

并在参数-cache_size中为orion指定。

卷的大小不够,尝试关闭缓存。

如果其他卷共享存储,将会看到突出的IO操作。

Orion报告长时间运行

如果num_disks高的话,运行时间也很长。

参数cache_size影响运行时间,Orion为每个测试点准备缓存需要2分钟。

果你关闭了你的缓存,你可以指定参数cache_size=0

如果指定的参数duration很长,运行时间是很长。

附录A:

分类数据库的IO负载

为了正确的配置数据库的存储设备,必须了解数据库的性能需求。

1IO请求主要是单个块还是多个块

数据库将发出多个IO请求:

并行查询,查询大数据量的表扫描,直接数据装

载,备份恢复。

一般来说,OLTP主要是单个IO请求,DSS数据仓库是多个IO请

求。

2平均和峰值的IOPS是多少?

写占多少百分比。

3平均和峰值的MBPS是多少?

写占多少百分比。

如果你的数据库IO请求主要是单个块,那就关注IOPS,如果数据库IO请求主要是多个

块,那就关注MBPS。

10gR2数据库:

可以从视图v$sysstat得到IO的类型。

单个数据块的读:

"

physicalreadtotalIOrequests"

-"

physicalread

totalmultiblockrequests"

多个数据块的读:

physicalreadtotalmultiblockrequests"

读的总和:

单个数据块的写:

physicalwritetotalIOrequests"

physicalwrite

多个数据块的写:

physicalwritetotalmultiblockrequests"

写的总和:

使用这些数据,你可以评估在一段时间范围内(包含正常时间和峰值时间)读写的

IOPS和MBPS,

selectname,value

fromv$sysstat

wherenamein('

physicalreadtotalIOrequests'

'

physicalreadtotalmultiblockrequests'

physicalwritetotalIOrequests'

physicalwritetotalmultiblockrequests'

);

NAME 

VALUE

physicalreadtotalIOrequests 

2068290092

physicalreadtotalmultiblockrequests 

2255995

physicalwritetotalIOrequests 

9968770

physicalwritetotalmultiblockrequests 

251551

单个数据块读是98%

单个数据块写实97%

也可以从awr报表中得到这些数据。

InstanceActivityStats 

DB/Inst:

DBS108A/dbs108a 

Snaps:

8881-8882 

->

Orderedbystatisticname 

Statistic 

Total 

perSecond 

perTrans

-----------------------------------------------------------------------------

...

27,791 

15.7 

38.7

physicalreadtotalbytes 

319,881,216 

180,368.5 

444,897.4

physicalreadtotalmultiblock 

115 

0.1 

0.2

4,278 

2.4 

6.0

physicalwritetotalbytes 

49,528,320 

27,927.1 

68,885.0

physicalwritetotalmultiblock 

22 

0.0 

0.0

附录B:

数据仓库

在数据仓库设计和管理的时候,IO性能是一个关键的部分,典型的数据仓库系统是

IO集中,操作在大数据量上,数据加载,重建索引和创建物化视图。

数据仓库支持

的IO必须设计符合过度的需求。

数据仓库的存储配置是根据IO带宽,而不是总的容量。

磁盘的容量比磁盘吞吐量速

率发展快,结果少数几个磁盘可以存储大量的数据。

但是大量的磁盘不能提供同样

IO吞吐量。

你可以用多个磁盘和管道来得到最大的带宽。

条带化是一种方法来实现。

实现一个大的条带大小(1M)来确保时间来定位磁盘和传输数据。

orion可以仿真连续的IO吞吐量,例如:

白天的工作量:

当终端客户,其他应用查询系统:

许多单独的并发只读IO

数据装载:

终端用户可能访问数据库,写的工作量和一些可能并行读(也许是

装载程序或者终端用户)

重建索引和物化视图:

读写工作量

备份:

只读的工作量,可能高的并行度

使

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2