地表最强的oracle Exadata一体机都跑不动了

2024年 1月 23日 94.5k 0

    昨天写了一篇Oracle AWR的简单分析,今天有6个网友找我分析问题,其中不乏Windows,AIX环境的,同时还有一套ODA和exadata的。其中Exadata的这套环境引起了我的好奇,这里简单记录一下分析思路,供大家参考!

   扫了一眼AWR开头部分发现是48core/376g内存,配置还是不错,看主机名就知道是Oracle exadata一体机,问了一下网友反馈说是x8 1/8。

接下来我们直接看Load profile:

    从load Profile来看压力似乎还好,但是IO压力似乎看上去略大,每秒14172MB/s;同时我们发现硬解析似乎也不低;针对硬解析的影响,可以看Time model statistics。

    我们可以清楚的看到,目前硬解析其实已经产生了一定影响,不过不算大,结合此时top event来看的话。

    大家可以清楚的看到cell smart table scan的平均等待时间已经高达21.35ms了,说明全表扫是真的蛮多,同时看cell single block physical read倒是非常正常,avg time还有112us(也就是0.112ms).

    据网友反馈此AWR报告期间(早上9-10点),客户应用反馈是整体都很慢;从AWR前面的这些基础信息来看,全表扫 avg time都21ms了,肯定是比较慢了。进一步看IO stats会发现数据确实很夸张。

    每秒高达13.5G/s的IO,确实不低。实际上我们要知道的是,这是Oracle exadata offload后下放到存储节点的IO,我们在计算节点是看不到这么高的IO的,这也正是exadata的强悍之处。

Statistic Total per Second per Trans
cell IO uncompressed bytes 42.9 TB 12.3 GB 342.2 MB
cell RDMA reads 318.0 GB 91.4 MB 2.5 MB
cell RDMA writes 293,745 82.47 2.23
cell blocks helped by commit cache 5.1 MB 1.4 KB 81.92 B
cell blocks helped by minscn optimization 42.9 TB 12.3 GB 342.6 MB
cell blocks pivoted 1.6 TB 479.3 MB 13.0 MB
cell blocks processed by cache layer 43.0 TB 12.3 GB 342.7 MB
cell blocks processed by data layer 42.9 TB 12.3 GB 342.2 MB
cell blocks processed by txn layer 43.0 TB 12.3 GB 342.6 MB
cell blocks returned by data layer 1.7 TB 511.8 MB 13.9 MB
cell blocks sent 96.0 KB 0 B 0 B
cell chained row pieces fetched 55,746 15.65 0.42
cell chained rows processed 15,490 4.35 0.12
cell chained rows rejected 21,446 6.02 0.16
cell chained rows skipped 21,446 6.02 0.16
cell commit cache queries 53,864 15.12 0.41
cell flash cache read hits 45,537,663 12,784.58 346.46
cell flash cache read hits for controlfile reads 32.0 KB 0 B 0 B
cell flash cache read hits for smart IO 45,532,252 12,783.06 346.42
cell flash cache read hits for temp IO 34 0.01 0.00
cell logical write IO requests 71,096 19.96 0.54
cell num bytes in block IO during predicate offload 1.6 GB 471.5 KB 12.8 KB
cell num bytes in passthru during predicate offload 2.3 GB 667.6 KB 18.1 KB
cell num fast response sessions 452 0.13 0.00
cell num fast response sessions continuing to smart scan 452 0.13 0.00
cell num smartio automem buffer allocation attempts 41,935 11.77 0.32
cell num smartio transient cell failures 0 0.00 0.00
cell overwrites in flash cache 1,417,669 398.01 10.79
cell partial writes in flash cache 0 0.00 0.00
cell physical IO bytes eligible for predicate offload 47.7 TB 13.7 GB 380.7 MB
cell physical IO bytes eligible for smart IOs 47.7 TB 13.7 GB 380.7 MB
cell physical IO bytes saved by storage index 4.7 TB 1.4 GB 37.7 MB
cell physical IO bytes sent directly to DB node to balance CPU 106.8 GB 30.7 MB 851.8 KB
cell physical IO interconnect bytes 820.8 GB 236.0 MB 6.4 MB
cell physical IO interconnect bytes returned by smart scan 348.5 GB 100.2 MB 2.7 MB

    从上面这段数据我们还可以看出一个信息,通过exadata存储索引获益的IO每秒才1.4G,只有Smart IOs的1/10左右;说明此环境主要因smart scan的谓词过滤等机制发挥左右而非存储索引功能。当然这些并不重要,我们重要的是要看为什么慢。

    那么有没有可能就是一体机存储节点IO有问题呢?

    我们可以清楚看到,flash 磁盘组的IO相对还算OK,几乎都在3ms以内,然而机械盘的部分磁盘的IO就比较高了,慢的在6~7ms. 而从前面的信息了解到该数据库data磁盘组已经使用了55T(三副本后大约18T),虽然上面跑了几个库。但是我们可以看出,这个容量已经远超flash容量大小了(目前单节点flash+pmem 也就13T左右);进一步看flash的IO命中率其实也能发现一些蛛丝马迹:

    所以这个根本问题在于,不是exadata扛不住,是容量有点不足了呀,需要瘦瘦身或扩容了;要么就是把系统IO降下来。据网友反馈,后面用户把其中一个应用停掉之后,就基本上恢复正常了。

    实际上从awr来看,这个系统还有很多小问题,比如内存还是自动调节,因为硬解析较高的缘故,导致shared pool 比buffer cache都还要大了,这显然是个隐患:

    还有一些SQL version 问题,以及不知道为什么这套Oracle exadata环境数据库参数大多都是默认值,难道原厂实施也不做任何调整的么。比如连DRM 这种bug居多的特性都不关闭,难道是因为19c中DRM已经足够稳定并万无一失了么。

    最后我想说的是,这套硬件设备的价格如果改用国产一体机的话,配置可以更高,实际上我们以前给客户上线#zData一体机(2+3) 全闪价格至少便宜一半以上,尽管没有exadata Smart scan 之类的牛X功能(exadata这些牛叉的功能,避免了应用SQL的烂,是的,再烂都能跑),但实际上对于99%的用户来说,已经很好用了,毕竟硬件性能弥补了差距。这或许就是很多客户选择国产一体机的原因吧。不是Exadata用不起,而是zdata更具性价比!

    最后欢迎大家继续提供Case或者故障分析素材,免费分析。可以继续加我微信或者公众号私信我。

 

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论