Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11604053
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-05-26 09:08:34

orion,一款由公司提供,专门用于模拟数据库运行机制来测试存储的优秀存储测试软件,可以在不运行数据库的情况下,仿真OLTP随机操作(测试)或者是OLAP连续性操作(测试吞吐量)。

先看看此软件的与说明:

ORION is the I/O Numbers Calibration Tool designed to simulate I/O workloads
  - Without having to create and run an database
  - Using the database’s I/O libraries
  - Using small I/Os to simulate OLTP workloads
  - Using large I/Os to simulate data warehouses
  ORION is useful for understanding the performance capabilities of a storage system,either to uncover performance issues or to size a new database installation.
  The Users Guide contains a Getting Started section, detailed usage documentation,and trouble-shooting tips. Please note that ORION is not supported by .
  Download the files:
  ·orion_AIX64.gz (11,670,726 bytes)
  ·orion_solaris64_sparc.gz (898,929 bytes)
  ·orion_solaris_x8664.gz (655,975 bytes)
  ·orion_linux_em64t.gz (767,380 bytes)
  ·orion10.2_linux.gz (630,354 bytes)
  ·orion10.2_windows.msi (7,865,856 bytes)
  ·Users Guide
可以见到,此软件已经支持多个OS环境,遗憾的是,并不对该软件提供服务支持,不过,这并不影响该软件的正常使用,从我的测试结果来看,该软件真的是很不错的存储测试软件。

下载到的软件,已经分别编译好,不需要任何编译即可以在各自的OS环境中运行,这个比很多压力测试软件需要另外重新编译好多了,也方便多了,如,在AIX环境下,在解压的目录下,运行./orion -help,即可以看到该软件的详细帮助。

该软件支持三种运行方式

Simple:简单的测试随机的小(默认8k)以及大(默认1024K),这个方式对初次运行该软件,或者大致了解存储基本特性比较有用。

Normal:可以组合不同的类型,但是还是不能自定义大小

Advanced:可以支持多种高级选项,如大小,压力大小,类型,测试方式等等

以及两种不同的压力方式

典型的OLTP环境:选择随机的小,测试存储所能支持的最大以及响应时间

典型的OLAP环境:选择顺序的大,测试存储所能支持的最大吞吐量以及响应时间

该软件的运行只需要一个配置文件,.lun,配置了测试所需要用到的磁盘信息,而分别返回如下信息:

_iops.csv:不同压力类型的值

_mbps.csv:不同压力类型的吞吐量

_lat.csv:不同压力类型下的响应时间

_summary.txt:测试结果的汇总信息

我在分别运行load runner+模拟数据库活动以及仅仅是运行该软件模拟数据库的活动中,可以明显的发现该软件的优势所在:

1、不需要运行load runner以及配置大量的clinet

2、不需要运行数据库,以及准备大量的测试数据

3、测试结果更具有代表性,如随机测试中,该软件可以让存储的命中率接近为0,而更仿真出了磁盘的真实的,而load runner很难做到这些,最终的磁盘需要换算得到。

4、可以根据需要定制一定比例的写操作(默认没有写操作),但是需要注意,如果磁盘上有数据,需要小心数据被覆盖掉。

当然,也有其缺点

1、到现在为止,无法指定自定义的总体的运行时间以及加压的幅度,这里完全是自动的

2、无法进行一些自定义的操作类型,如表的扫描操作,装载测试等等,不过可以与数据库结合起来达到这个效果

下面,我就给出几个具体的例子说明其操作

1、数据库OLTP类型,假定类型全部是8K随机操作,压力类型,自动加压,从小到大,一直到存储压力极限

#nohup ./orion -run advanced -testname mytest -num_disks 96 -size_small 8 -size_large 8 -type rand &

2、数据库吞吐量测试,假定全部是1M的序列性

#nohup ./orion -run advanced -testname mytest -num_disks 96 -size_small 1024 -size_large 1024 -type seq &

3、指定特定的类型与压力,如指定小为压力500的时候,不同大下的压力情况

#nohup ./orion -run advanced -testname mytest -num_disks 96 -size_small 8 -size_large 128 -matrix col -num_small 500 -type rand &

4、结合不同的类型,测试压力矩阵

#nohup ./orion -run advanced -testname mytest -num_disks 96 -size_small 8 -size_large 128 -matrix detailed -type rand &

因为其测试结果是csv文件,所以可以很方便的根据结果在excle中绘制压力曲线,如某存储的压力测试,根据Orion的测试结果绘得的与响应时间关系表:

orion

其中,横轴是响应时间,纵轴是值,表示了在不同的情况下,单个的平均响应时间分别是多少。

阅读(717) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~