电子说
Oracle数据库系统是目前世界上使用最为广泛的关系型数据库系统,Oracle数据库支持OLTP(on-line transaction processing)和OLAP(On-Line Analytical Processing)两大数据处理。OLTP主要是基本的、日常的事务处理。OLAP支持复杂的分析操作,侧重决策支持,并提供直观易懂的查询结果。在OLTP场景中,交易延时是衡量交易系统性能的重要指标,如何小改动大收益的获取高性能低时延的交易系统呢?
在线重做日志Online Redo Log
让我们先看一下Oracle的数据文件类型:
Control File:记录数据库的结构、参数和其他数据文件的位置。
Data File:存放用户数据和临时数据。
Online Redo Log:记录重构,重做数据库变更的重要信息。
Archive Log:当数据库处于归档模式时,数据库将写满的日志组拷贝到归档区,用于数据异常时恢复。
通过对哪个数据文件进行小调整获取较大性能收益呢?先将目标锁定在Online Redo Log上看看。原因如下:
Oracle Online Redo Log是数据库为保证已提交的事务不会丢失而建立的一种机制,它会记录数据库的INSERT、UPDATE、DELETE、CREATE等等变更。数据库事务在提交时并不强制写入到Data File中,但会保证首先写入Redo Log中,可见Redo Log是Oracle性能影响的重要因子。此外,相对Data File ,Redo Log文件的数据量不大所要用到的存储空间较少,调整起来比较方便。
锁定目标后,我们看看对Redo Log可以进行哪些方面的调整:
l 修改Redo Log file大小?
l 将日志文件放到性能更高的盘上?
测试环境以及测试方案
下面基于手里的资源环境进行一个小实验。一台DELL PowerEdge R540服务器,部署Oracle 19c数据库,一张SEAGATE 1.2T SAS HDD盘作为服务器的系统盘也作为数据库的数据盘,一张DapuStor TLC 800G NVMe SSD盘作为方案对比盘。采用HammerDB工具对Oracle数据库进行TPC-C压力测试,统计测试结果。对比测试方案如下:
方案1:Oracle的数据,Redo Log存储盘都在HDD盘上,Redo Log文件大小采用Oracle默认配置;
方案2:Oracle的数据,Redo Log存储盘都在HDD盘上,Redo Log文件大小按照20分钟切换日志的频率设置大小;
方案3:Oracle的数据盘在HDD盘上,Redo Log存储盘在NVMe SSD盘上。
测试结果数据
TPC-C性能对比(TPM)
HammerDB 1vuser和30vuser时,Oracle数据库压力测试TPM值。
适当调整Redo Log文件大小时,TPC-C性能有13%~45%的提升;
将Redo Log日志文件调整到性能更高的NVMe SSD硬盘上时,TPC-C性能有4倍以上的提升。
时延对比
统计DapuStor NVMe SSD和SEAGATE SAS HDD分别作为Redo Log存储介质时,TPC-C测试模型中1vuser 测试时NewOrder 事务的时延。MIN为最小响应时间,P50为50%事务的最大响应时间,P95为95%事务的最大响应时间。
使用DapuStor NVMe SSD作为oracle数据库的Redo Log时,95%事务的Latency有20倍以上的降低,交易时延获得了极大的降低。
CPU利用率
监控DapuStor NVMe SSD和SEAGATE SAS HDD分别作为Redo Log存储介质时,TPC-C测试模型中1vuser 测试时CPU的利用率。
从数据可以看出采用NVMe SSD作为Redo Log存储介质时,CPU利用率较为稳定,同时CPU利用率也相对较低。
测试总结
Redo Log作为Oracle数据系统的核心组件之一,其文件大小,所处不同存储介质都会对Oracle的性能,时延产生较大影响。其中采用高性能盘作为Redo Log的存储介质时,Oracle数据库性能提升的同时系统的交易时延也相对的减小,此外系统CPU利用率也相对降低,CPU利用率也较为平稳。
后续
下次有SAS/SATA SSD的环境,小编在给大家做一次Oracle相关的性能对比验证,相信采用NVMe SSD + SAS/SATA SSD会能更好的发挥NVMe SSD的性能。
原文标题:REDO LOG对Oracle性能影响实测对比
文章出处:【微信公众号:大普微】欢迎添加关注!文章转载请注明出处。
责任编辑:haq
全部0条评论
快来发表一下你的评论吧 !