本帖最后由 YxY 于 2020-7-13 21:04 编辑
日常交付的生产环境中,已经普遍采用了ASM方式来运行数据库,而运行在文件系统上的单实例数据库所采用的不同的文件系统对大部分DBA来说,默认是没有区别的。事实上真的如此吗? 两台配置一样的虚拟机,所在的宿主机一样。安装数据库,并且将数据库的各项参数调整为一致。再用swingbench来测试。
Windows的ntfs文件系统 测试中,Windows的表现相对一般,TPM有较为明显的抖动。TPM大概在38000左右浮动,TPS看到时常有hang住。
LINUX版本为OEL7.6,内核版本为4.1.12-124.28.6.el7uek.x86_64,之所以要说到内核版本,是因为有说法,ext4封装了ext3的代码,所以3和4测试结果理论上应该是一样的。XFS的测试结果,大概在30000左右的TPM,不及windows的表现. XFS的测试结果让我很诧异,在linux下的操作过程非常顺畅,但是没想到跟NTFS的差距这么大。好在测试较为平稳。 之后删掉数据库,在ext4上新建数据库,初始化好环境,开始测ext4下的性能表现。
ext4的表现要比xfs好,峰值跟ntfs近似,ext4下的测试结果要好很多,峰值已经接近ntfs了。但是还是有差距。查阅ext4和xfs的对比,xfs的扩展性要比ext4好,对带海量文件遍历要性能优于ext4,大文件操作也不错,对于oracle来说,block级别的访问和修改,似乎不如ext4。
最后测试下ext3的,理论上应该跟ext4的结果类似。清理掉环境,重新建库在ext3上。
整个测试下来,发现NTFS确实在swingbench场景下表现要好一些,NTFS>EXT4/EXT3>XFS。还是很难接受Windows跑Oracle数据库。 |