Oracle 压力测试工具Orion

Oracle 压力测试工具Orion上线前的压力测试数据库压力测试的关键点,就是查看数据库在多个用户并发压力下的表现,以及在高并发情况下系统的处理能力和系统资源的使用情况,从而找出

大家好,欢迎来到IT知识分享网。

上线前的压力测试

数据库压力测试的关键点,就是查看数据库在多个用户并发压力下的表现,以及在高并发情况下系统的处理能力和系统资源的使用情况,从而找出相应的性能瓶颈所在。

数据库性能测试指标主要可分为以下三大类:

  • 数据库并发数:当前系统所能承受的最大用户数,也就是系统能够支持的最大客户端数量。
  • 服务器资源(CPU、I/O、内存)使用率:在各种负载压力下,服务器 CPU 的处理时间,I/O响应情况和内存使用率。
  • 数据库的可靠性:在连续运行的状态下,系统正常运行的时间。

大多数负载测试工具可以分为以下几大类:

  • I/O测试。
  • RDBMS (Relational Database Management System,关系数据库管理系统)层I/O测试。
  • 数据库方面的应用程序级别测试工具。
  • 应用方向的应用程序级别测试工具。

本次主要介绍操作系统层面的I/O测试工具—–Orion


一、Orion概述

Orion是Oracle提供的IO性能测试工具,主要是对存储设备进行IO测试,运行该工具不需要安装oracle database软件创建数据库。它可以模拟Oracle数据库的IO负载,也可以用来仿真ASM的条带化的功能。测试随机或顺序访问指定大小块的IO性能,性能指标包括:IOPS,MBPS,Latency(延迟时间)。从Oracle Database 11g开始,Orion工具被集成到GI和Database软件中,所以在$GRID_HOME/bin$ORACLE_HOME/bin目录下都可以找到这个工具。

Orion优点:

  • 可以灵活指定IO负载,如随机IO,连续IO等。
  • 不需要运行oracle数据库以及准备大量的测试数据就能模拟oracle数据库运行时的IO负载

缺点:

  • 无法根据实际情况自定义测试时长及负载情况。
  • 整个测试过程都是自动完成,无法进行一些自定义的操作类型,如表的全表扫描全索引扫描数据入库测试等。

二、简单测试方法如下:

1.在Oracle安装目录下创建.lun文件,运行orion命令时会从该文件中记录的存储设备进行测试,如下所示:

[oracle@sea ~]$ cd $ORACLE_HOME #DB安装目录 [oracle@sea db_1]$ pwd /u01/app/oracle/product/19.3.0/db_1 [oracle@sea db_1]$ cat baseoltp.lun /dev/sdb1

2.模拟OLTP的可伸缩性测试(对于OLTP,“联机事务处理”系统,一般需要大量并发小I/O,混合大I/O,测试时我们可以不断增加随机小IO的并发数来观察IOPS”每秒IO数”的情况和lat“平均IO响应时间”,iops和lat是OLTP重点关注的两个指标)

--此为基准测试,固定大IO,先不给小IO,再以后的测试中可以逐渐加大小IO即可 [oracle@sea db_1]$ ./orion -testname /u01/app/oracle/product/19.3.0/db_1/baseoltp -run advanced -duration 180 -matrix row -num_large 0 -write 20 参数解释: 1. -testname :执行测试名称,后面跟lun文件的地址,注意在命令中不需要.lun后缀 2. -run :运行模式,有5个(simple,normal,advanced,dss,oltp),此处advanced意思为自定义工作负载,可以混合不同大小的i/o进行场景测试 (控制篇幅没有介绍其它参数,可以使用orion -help查看) 3. -duration : 测试每个数据点的持续时间,单位为s,默认为60s 4. -matrix : 有6个选项(basic,detailed,point,col,row,max)此处row意思为测试OLTP,用"-num_large"指定固定大小io并发数,然后不停加大小io并发数,以测试IOPS point意思为大IO 和小IO的混合测试 5. -num_large : 执行大IO的并发数 6. -write : 写IO的占比,默认为0,我设置为20 --固定大IO后,增加小IO [root@sea bin]# ./orion -testname /u01/app/oracle/product/19.3.0/db_1/baseoltp -run advanced -duration 600 -matrix point -num_large 0 -num_small 10 -write 20

3.命令发出后,如果不报错会执行很长时间,一般会给预估值,如下所示(只列出了第一条命令的执行结果):

[root@sea bin]# ./orion -testname /u01/app/oracle/product/19.3.0/db_1/baseoltp -run advanced -duration 180 -matrix row -num_large 0 -write 20 ORION: ORacle IO Numbers -- Version RDBMS_19.3.0.0.0DBRU_LINUX.X64_ /u01/app/oracle/product/19.3.0/db_1/baseoltp__1537 Calibration will take approximately 19 minutes. ------预估时间 Using a large value for -cache_size may take longer.

4.只需等待,执行完成后会在DB安装目录下生成六个结果文件

[oracle@sea db_1]$ ls baseoltp__15* baseoltp__1537_hist.txt #测试历史 baseoltp__1537_lat.csv #小的IOs的延时 baseoltp__1537_summary.txt #测试结果的总体概要 baseoltp__1537_iops.csv #小的IOs的性能结果IOPS(每秒IO次数) baseoltp__1537_mbps.csv #大的IOs的性能结果 MBPS(吞吐量) baseoltp__1537_trace.txt #测试过和的详细信息

5.我们查看一下结果总体概要,如图所示:

Oracle 压力测试工具Orion

summary概要

可以看到不同延迟下,读写的速度,单位为us.

6.还可以将.iops的测试结果导出到execl并绘制曲线图,竖轴为us,横轴为数据点

Oracle 压力测试工具Orion

iops曲线图

7.查看延迟情况(没有绘图)

[oracle@sea db_1]$ cat baseoltp__1537_lat.csv #This comma-separated-value file contains the average latency sustained by small I/Os in microseconds. #Each value corresponds to a data point test that used a fixed number of outstanding small and large I/Os. #The number of outstanding small I/Os for a value is specified by its column header in the first row. #The number of outstanding large I/Os for a value is specified by its row header in the first column. Large/Small, 1, 2, 3, 4, 5 0, 81.48, 127.13, 145.05, 165.05, 199.52 

总结

以上就是Oracle在操作系统层面针对OLTP的I/O测试了,优缺点都很明显。理论上,ORION可以用来测试任何支持异步的字符设备。

  1. ORION已经在下列类型的设备上测试过。
  • DAS(directed_attatched)的存储:
  • SAN(storage-area network)的存储:
  • ORION没有在NAS(network-attached storage).

ORION对存储设备的供应商:
供应商可以用ORION来理解Oracle是如何来在存储上执行的。也可以用Orion来找出适合Oracle最好的存储配置。

ORION对Oracle管理员
Oracle管理员可以根据期望的工作量使用Orion来评估和比较不同的存储阵列。他们也可以用Orion来决定峰值时优化的网络连接数,存储阵列数,存储阵列控制器数,和磁盘数。附录A描述了根据数据库现在的工作量来推测IOPS和MBPS需求。

对于OLAP,“联机分析系统”,需要并发大I/O,固定少量小I/O,就需要特别关注MBPS部分。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/53171.html

(0)
上一篇 2024-07-26 19:00
下一篇 2024-08-11 18:33

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信