我正在为一个小的但是读I / O密集型数据库配置服务器.它充当公共访问较大Oracle RAC数据库的主索引.在查看I / O的要求时,确定一系列SSD将提供所需的性能,而成本低于大量SAS 15K主轴.我有一台HP服务器,Smart Array P400只能连接到SSD.控制器有256MB的BBWC. SSD是三星(我相信)制造的60GB SLC 2.5“SATA.
我想知道是否有人深入了解RAID 10或5的最佳条带大小,文件系统建议?我们将要做Oracle 11g,所以我相信我需要一个文件系统,而不是使用RAW块设备.服务器将运行RHEL 5.5.
在过去的几个月里,我已经完成了关于固态硬盘的大量阅读,而且我并不反对做更多的事情,但我的google-fu已经开始让我失败了.我在SSD RAID上发现的大多数文档都是针对家用PC上的启动驱动器的消费级SSD的RAID 0,以使Windows 7启动和加载游戏更快.我所说的是,我不是在寻找某人来完成我的工作,只是提供他们所拥有的任何经验,或者链接到他们发现的文件.
提前致谢!
编辑一些其他信息而不是回复每个评论:
驱动器空间根本不是问题,因为数据库足够小,可以毫无问题地安装在其中一个SSD上.
作为一个阅读量很大的数据库(在4-8k中随机读取95%),我想我可能会从RAID 5中获得更好的性能,因为我可以从阵列中的N-1个驱动器读取,而不仅仅是镜像中的活动磁盘,因为我读过的东西表明Smart Array P400不支持从RAID 10集中的镜像两侧读取.也就是说,我非常肯定控制器最终会成为瓶颈,然后才能担心.
在TRIM:我很确定即使这些驱动器支持TRIM(我不相信它们),那么将TRIM命令通过RAID控制器推送到各个驱动器也有些困难.操作系统支持也很冒险,因为红帽企业Linux 5仍然基于2.6.18内核树,虽然有很多自定义功能可以从后来的内核版本中引入功能. EXT4还没有正式支持,作为一个制作盒子,我需要让自己保持在Red Hat和HP帮助我的地方,如果出现问题.我确实相信在驱动器级别上会进行某种垃圾收集.在不同的基准测试过程中,我已经多次填充磁盘,并且没有看到写入速度显着降低,如果我不得不等待擦除/编程周期而不仅仅是程序周期.
以下是使用256KB条带大小的6驱动器RAID 10阵列的一些基准数据.分区是EXT3,在64个扇区对齐.使用NOOP调度程序,在mount时给出NOATIME选项.我还将操作系统读取缓存增加到8MB(我相信默认为512K).我使用Iozone 3.347进行此测试,记录大小为4KB,基准文件大小为25GB,希望将缓存从图片中取出并测量驱动器的实际性能.我还运行了四个线程(4个25GB文件由4个子进程编写,以强调驱动器.)
跑步开始于:2010年8月30日星期一12:09:57
Record Size 4 KB
File size set to 26214400 KB
Command line used: /opt/iozone/bin/iozone -b /root/4k25g4t.xls -r 4k -s 25g -t 4 -i 0 -i 1 -i 2
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
Throughput test with 4 processes
Each process writes a 26214400 Kbyte file in 4 Kbyte records
Children see throughput for 4 initial writers = 253416.93 KB/sec
Parent sees throughput for 4 initial writers = 229461.66 KB/sec
Min throughput per process = 61416.07 KB/sec
Max throughput per process = 64604.90 KB/sec
Avg throughput per process = 63354.23 KB/sec
Min xfer = 24924492.00 KB
Children see throughput for 4 rewriters = 259375.90 KB/sec
Parent sees throughput for 4 rewriters = 234136.11 KB/sec
Min throughput per process = 63879.16 KB/sec
Max throughput per process = 65675.30 KB/sec
Avg throughput per process = 64843.97 KB/sec
Min xfer = 25497648.00 KB
Children see throughput for 4 readers = 490873.09 KB/sec
Parent sees throughput for 4 readers = 490830.09 KB/sec
Min throughput per process = 119007.65 KB/sec
Max throughput per process = 124878.35 KB/sec
Avg throughput per process = 122718.27 KB/sec
Min xfer = 24984912.00 KB
Children see throughput for 4 re-readers = 477533.65 KB/sec
Parent sees throughput for 4 re-readers = 477503.03 KB/sec
Min throughput per process = 115802.55 KB/sec
Max throughput per process = 121579.46 KB/sec
Avg throughput per process = 119383.41 KB/sec
Min xfer = 24973364.00 KB
Children see throughput for 4 random readers = 35728.62 KB/sec
Parent sees throughput for 4 random readers = 35728.53 KB/sec
Min throughput per process = 8926.97 KB/sec
Max throughput per process = 8937.35 KB/sec
Avg throughput per process = 8932.16 KB/sec
Min xfer = 26183936.00 KB
Children see throughput for 4 random writers = 23527.42 KB/sec
Parent sees throughput for 4 random writers = 20701.37 KB/sec
Min throughput per process = 5757.43 KB/sec
Max throughput per process = 6035.68 KB/sec
Avg throughput per process = 5881.86 KB/sec
Min xfer = 25011236.00 KB
"Throughput report Y-axis is type of test X-axis is number of processes"
"Record size = 4 Kbytes "
"Output is in Kbytes/sec"
" Initial write " 253416.93
" Rewrite " 259375.90
" Read " 490873.09
" Re-read " 477533.65
" Random read " 35728.62
" Random write " 23527.42
本文探讨在配置小型数据库服务器时,如何选择Samsung 60GB SLC SSD组成RAID10或RAID5阵列,以满足Oracle 11g的性能需求。作者关注了SmartArray P400控制器限制、TRIM支持、操作系统兼容性和最佳条带大小等技术细节。
887

被折叠的 条评论
为什么被折叠?



