sql-server-2008-r2 – 使用RAM磁盘加速SQL Server临时表处理

前端之家收集整理的这篇文章主要介绍了sql-server-2008-r2 – 使用RAM磁盘加速SQL Server临时表处理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在开发的系统包括一个Web应用程序前端,以及一个后端,它使用sql Server 2008 R2中的存储过程进行大量数据处理(请不要问为什么……).这些存储过程大量使用临时表(创建,插入,连接),因此tempdb i / o速率在写入和读取时很高.我们的客户需要速度,所以我们将推荐以下内容

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

一些上下文数据:

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

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

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

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

解决方法

这不仅仅是速度,而是等待.基准正确.检查IOPS以及磁盘队列长度.使用Perfmon和sql分析.来吧 – 我会等

您已经知道操作系统应该在一组主轴上,M​​DF另一个,LDF是另一个,而tempdb文件是另一个,如果您确实有实际的性能问题.如果您不能承诺这样做,请对其进行基准测试并找出您的优先事项.此外,不同的读写模式可以为每个模式规定不同的RAID级别.

您可能会发现具有正确RAID配置的标准磁盘可以满足您的需求,而不是为企业级SSD提供丰富的服务.虽然,如果tempdb受到足够的打击,单个SSD可能非常适合它.可能不需要RAID来提高性能,尽管为了实现冗余,它可能是一个好主意.当然,取决于您的预算以及您可以停下多长时间.

您还知道sql服务器应该与Web服务器分开,对吧?如果表现是一个问题?即使你现在没有问题,如果你成长,你将很难确定哪个更难被敲定以及适当的解决方案是什么.

猜你在找的MsSQL相关文章