小编mra*_*rez的帖子

使用 RAM 磁盘加速 SQL Server 临时表处理

我们正在开发的系统由一个 Web 应用程序前端和一个使用 SQL Server 2008 R2 中的存储过程进行大量数据处理的后端组成(请不要问为什么...)。这些存储过程大量使用临时表(创建、插入、连接),因此tempdb 的I/O 率在写入和读取中很高。我们的客户需要速度,因此我们将推荐以下内容:

  • 购买带有 RAID 1 SSD 阵列的服务器来存储主数据库(如果他们有钱,可能是 RAID10),使用另一个硬盘驱动器安装操作系统和 SQL Server,以便将重要数据与复制一起存储在快速驱动器中,以及64 GB 内存。
  • 使用 Ramdisk 存储tempdb数据库,因此临时表(我们认为最大的性能瓶颈)在 RAM 中处理。

一些上下文数据:

  • 我们的数据库使用不超过 10 GB,预期增长率非常低。Tempdb 通常增长到不超过 2-3 GB。
  • 服务器将用于 DB 和 Web 服务器。
  • Ramdisk 软件可以在 windows 启动时挂载 ramdisk。

我们已经在具有大量内存的笔记本电脑中测试了 ramdisk 方法。至少,加速是显着的(存储过程执行时间减少到 1/3)。

我需要帮助来确定这是否是一个好的解决方案,并检测我可能遗漏的任何缺陷(明显的或不太明显的)。

编辑:感谢您到目前为止的答案!我忘了明确提到将有并发用户使用该应用程序,因此将有多个临时表操作正在运行。此外,混合 Web 服务器和数据库服务器不是我们的选择,我们已经知道这不是最佳的 ;)

tempdb ramdisk database-performance sql-server-2008-r2

5
推荐指数
1
解决办法
5343
查看次数