实验:修改日志文件配置优化系统吞吐量
关于oracle 联机日志文件的配置,没有多少好说的,出于对性能的影响考虑,两个规则,首先 :日志文件是否够大;其次:日志文件组数是否够多。至于文件存放的物理磁盘,由于日志文件是顺序写的,即使放到固态盘上,与普通的机械硬盘相比,优势并不多。
这里通过实验来验证由于日志文件配置的问题,对oracle系统的整体吞吐量造成的瓶颈。
第一 次测试:日志文件大小为50M,共三组。如下:
这里我们使用HarmmerDB 压力测试工具来对数据库施压
e
之前预创建了20个warehouse,这里配置20个虚拟用户,每个虚拟用户发起100万个事务,如下。
5分钟的压力测试后,提取awr报告,检查系统负载以及等待事件如下
每秒事务数
排在前五位的等待事件,log file swich(checkpoint incomplete) 高居榜首。
log file swich(checkpoint incomplete)关于这个等待事件,oracle官方文档解释如下。
Waiting for a log switch because the session cannot wrap into the next log. Wrapping cannot be performed because the checkpoint for that log has not completed.
正如最后一列显示,这是由于系统配置不当造成的等待。调整日志文件的配置,每个日志组为1g大小的文件,共五组,如下。
再使用同样的压力测试过程施压完后,再来看系统负载情况。
DB time并无明显的变化,但是每秒事务数为172,如下
几乎提高了三倍。
前五位的等待事件
之前的log file swich(checkpoint incomplete)等待事件已经消失。