REDO LOG对Oracle
性能影响实测对比
背景

Oracle数据库系统是目前世界上使用最为广泛的关系型数据库系统,Oracle数据库支持OLTP(on-line transaction processing)和OLAP(On-Line Analytical Processing)两大数据处理。OLTP主要是基本的、日常的事务处理。OLAP支持复杂的分析操作,侧重决策支持,并提供直观易懂的查询结果。在OLTP场景中,交易延时是衡量交易系统性能的重要指标,如何小改动大收益的获取高性能低时延的交易系统呢?

在线重做日志Online Redo Log
在线重做日志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 将日志文件放到性能更高的盘上?

测试环境以及测试方案


测试结果数据

TPC-C性能对比(TPM)
HammerDB 1vuser,20vuser以及40vuser时,Oracle数据库压力测试TPM值。
方案1 | 方案2 | 方案3 | |
TPM/1vuser | 54208 | 72660 | 80573 |
TPM/20vuser | 510806 | 1098002 | 1173300 |
TPM/40vuser | 503380 | 1342741 | 1435768 |
适当调整Redo Log文件大小时,TPC-C性能有2倍提升;
将Redo Log日志文件调整到性能更高的NVMe SSD硬盘上时,TPC-C性能有6.8%~10.8%的提升。
时延对比
统计DapuStor NVMe SSD和SEAGATE SAS HDD分别作为Redo Log存储介质时,TPC-C测试模型中40vuser 测试时NewOrder 事务的时延。MIN为最小响应时间,P50为50%事务的最大响应时间,P95为95%事务的最大响应时间。
MIN(us) | P50(us) | P95(us) | |
Dapu TLC NVMe SSD | 808 | 1583 | 2470 |
SAS SSD | 1099 | 2481 | 4414 |
使用DapuStor NVMe SSD作为oracle数据库的Redo Log时,95%事务的Latency有近2倍的降低,交易时延获得了极大的降低。


Redo Log作为Oracle数据系统的核心组件之一,其文件大小,所处不同存储介质都会对Oracle的性能,时延产生较大影响。其中采用高性能盘作为Redo Log的存储介质时,Oracle数据库性能提升的同时系统的交易时延也相对的减小,此外系统CPU利用率也相对降低,CPU利用率也较为平稳。

后续

近期DapuStor推出的Nida5系列PCIe Gen4 SSD,基于自研的控制器DPU600和固件,搭载KIOXIA最新Bics4 3D Enterprise TLC。Nida5配合GEN4服务器搭建的基础平台对Oracle数据库场景的性能提升如何值得期待。此外NUMA对oracle的性能影响如何?下期小编将会对此进行相关验证。



扫描二维码
关注我们吧




