SQL硬件性能比

SQL硬件性能比,sql,sql-server-2008,cloud,scaling,performance,Sql,Sql Server 2008,Cloud,Scaling,Performance,我正在寻找一种方法来发现SQL server中的瓶颈,但似乎在8个内核上超过32GB的ram和超过32个spindel是不够的。是否有任何指标、最佳实践或硬件比较(即每秒交易量)?我们每天的关闭需要几个小时,我希望它在几分钟内或实时如果可能的话。我无法每秒合并超过12k行。目前,我不得不将流量拆分到多个服务器上,但对于~50GB的数据库来说,这是一个合适的解决方案吗? 合并包含在SP中,并尽可能简单—消除重复输入、插入新行、更新现有行。我发现我们在单个合并中放入的行越多,每秒得到的行就越多。应用

我正在寻找一种方法来发现SQL server中的瓶颈,但似乎在8个内核上超过32GB的ram和超过32个spindel是不够的。是否有任何指标、最佳实践或硬件比较(即每秒交易量)?我们每天的关闭需要几个小时,我希望它在几分钟内或实时如果可能的话。我无法每秒合并超过12k行。目前,我不得不将流量拆分到多个服务器上,但对于~50GB的数据库来说,这是一个合适的解决方案吗?
合并包含在SP中,并尽可能简单—消除重复输入、插入新行、更新现有行。我发现我们在单个合并中放入的行越多,每秒得到的行就越多。应用服务器在更多线程中运行,并使用其专用服务器上的所有内存和处理器。

遵循类似于确定瓶颈的方法。这正是设计的目的。一旦确定了瓶颈,您还可以判断是硬件配置和校准问题(如果是,哪个硬件是瓶颈),还是其他问题。

基本思想是避免对磁盘进行随机访问,包括读写。如果不进行任何分析,50GB的数据库至少需要50GB的ram。然后,您必须确保索引位于与数据和事务日志分离的轴上,您尽可能晚地写入,并且关键表被拆分到多个轴上。你在做这些吗?

避免随机访问是一项挑战。没有人知道下一批更新哪些行。实际情况是每秒约30-40k次合并(主要是更新),现在和未来几个月都足够了。