1、orion 使用介绍,唐成 2010.12.20,内 容 目 录,orion是什么?orion的思路orion的使用,orion是什么?,Orion: ORacle IO Numbers 。它是一由oracle公司提供的一个IO测试工作。它使用oracle数据库源码中操作IO部分的代码,所以这个工具测试的IO情况基本与oracle数据库实际跑出来的IO是一样的。,基本思路,可以测试混合小IO和大IO的场景。对于OLTP系统的IO模型可以抽象为:大量并发小IO中,混合基本固定数量的大IO; DW系统的IO模型可以抽象为:一些并发大块IO中,混合基本固定数量的随机小IO;对于OLTP的系统,ori
2、on的测试方法是,估计系统中的并发的批量任务数,一般不会超过4个,所以设定大块IO并发数为4,然后不断增加小随机IO的并发数,然后看小随机IO的IOPS情况。当然如果我们设置大IO数为0,就是测试完全是小随机IO的情况,这是大部分随机测试工具测试出来的结果是一样的。,orion测试思路(续),对于DW的系统,orion的测试方法是,估计系统中的并发的小IO数,一般也不会太多,然后不断增加大块IO的并发数,然后看大块IO的吞吐量。因为要加固定数目的小随机IO的原因是,可能这些小的随机IO会大大影响大块IO的吞吐量。,orion的使用方法,./orion_linux_x86-64 -help可以看
3、到帮助。参数的格式: - -run参数: 参数值可为simple、 normal、 advanced、dss、 oltp,这是必需要有的参数。simple: 先测试一下8k小IO的情况,然后再测试1M大IO的情况,只能有-testname mytest -num_disks 8,其它参数都不能设置 。normal: 测试8k小IO混合1M大IO的各种并发情况。测试的时间很长,可能6至7个小时。只能有-testname mytest -num_disks 8,其它参数都不能设置 。,orion的使用方法,dss : 无小IO,不停的增加1M大IO的并发数,然后看IO吞吐量 。可以带-write和
4、-duration参数,可指定-size_large指定IO大小。 -type, -matrix, -num_small or -num_large这些参数不是能设置的。 -size_small参数设置了也没有用处。oltp : 无大IO,测试随机8k小IO的最大IOPS。可以带-write和-duration参数,可指定-size_small指定IO大小。 -type, -matrix, -num_small or -num_large这些参数不是能设置的。-size_large参数设置了也没有用处。advanced: 最复杂的情况,可以通过设定不同的参数,混合不同的大小IO的情况,测试各种
5、所需要的场景。,orion的使用方法,-testname 指定测试的名称,生成的结果报告都会以这个为名称,同时,测试的硬盘应该放在.lun文件中。-num_disks 指定物理磁盘的数目,实际上是对应最终加的最大压力,磁盘数越多,持续加压的并发数越大。对于做了raid的lun,把这个值设置为实际这个lun中包含的磁盘数,避免由于这个值给的太小,加的压力没有到磁盘的瓶颈。-size_small 小IO的大小,一般等于数据库中的块大小。,orion的使用方法,-size_large大IO的大小,一般等于 blocksize*db_file_multiblock_read_count。-type :
6、 测试的是随机IO还是顺序IO,有时顺序IO测试会出错,不知道原因,可能是这个工具的bug,不过我们可以使用其它工具测试顺序IO,如dd。-num_streamIO : 顺序IO使用的并发数-simulate: 指定lun的类型, 两个选择:concat和raid0。选择lun是通过多个硬盘简单拼接起来的,还是raid方式。,orion的使用方法,-write :指定IO中的写比例,10代表10%的写,90%的读。默认为0,表示无写。-cache_size用于顺序IO的测试, orion在测试顺序IO的每个数据之前,会先发一定数目的随机IO,先把cache填满后,再测试顺序IO,主要是去除ca
7、che的影响。-duration :指定orion中每个固定并发数的测试点,测试多长时间,默认为60秒。如果想让测试快一点,可以设置这个值为小一点的值,如20秒。- num_small: 指定固定小IO的并发数,orion的使用方法,-num_large 大IO的固定并发数- matrix用于-run advanced下的测试模式 。当为row时,是测试oltp的情况,用-num_large指定一个固定的大IO并发数,然后不停的加小IO的并发数,测试IOPS的情况。当为col时,是测试dss的情况,用-num_small指定一个固定的小IO并发数,然后不停的加大IO的并发数,测试吞吐量情况。,
8、orion的使用方法,举例: ./orion_linux_x86-64 -run advanced -testname mytest -num_disks 24 -size_small 8 -size_large 128 -type rand -write 30 -matrix row -num_large 0 -simulate raid0 -duration 30./orion_linux_x86-64 -run advanced -testname mytest -num_disks 24 -size_small 8 -size_large 128 -type rand -write 30 -matrix col -num_small 0 -simulate raid0 -duration 30,Q&A,