【问题标题】:Recommended placement of tempdb and log for SQL Server OLTP database(s)为 SQL Server OLTP 数据库推荐的 tempdb 和日志位置
【发布时间】:2008-10-10 13:58:07
【问题描述】:
假设如下配置:
驱动器 D ... 数据,驱动器 E .... TempDB,驱动器 F ... 日志。
并假设所有驱动器都位于具有各自驱动器控制器的单独主轴上。
关于性能;上述配置是最优的、体面的还是不可取的?
考虑到预算限制,这些数据库中的任何一个都可以在不显着降低性能的情况下共享保存驱动器吗?
哪些驱动器需要最快?
【问题讨论】:
标签:
sql-server
performance
optimization
configuration
【解决方案1】:
如果不对您的系统进行全面分析,这很难回答。例如,要正确执行此操作,我们应该知道您的系统将产生什么样的 IOPS,以便规划比峰值负载略多的容量。
我一直很喜欢 RAID10,它为所有东西提供单独的阵列,并且在许多情况下根据性能需要分成不同的文件组。
但是,在预算有限的环境中,对于想要接近理想的人来说,这是一个不错的基本配置:
4 个单独的数组:
- 系统数据库:RAID 5(也不是操作系统阵列!)
- 数据:RAID 5
- 日志:RAID 10
- Tempdb:RAID 1 或 10,后者用于高 IOPS 场景
- (可选)- RAID 5 将备份转储到(从此处复制到磁带)
这种设置提供了不错的性能和更高的恢复机会。例如,在这种情况下,如果您的 Data 阵列发生故障,您仍然可以运行服务器和 BACKUP LOG 对故障数据库进行时间点恢复,因为您仍然可以在面对数据时访问系统数据库和事务日志阵列故障。