适用于 ASP.NET 4.0 和 MS SQL 2008 Web 版的 32 核多线程性能

适用于 ASP.NET 4.0 和 MS SQL 2008 Web 版的 32 核多线程性能

最近我的用户数量增加了,我当前的服务器开始变得不够用了。我正在考虑购买 4 x 8 = 32 核 AMD CPU 专用服务器。我想知道 ASP.NET 4.0 和 MS SQL 2008 Web Server 在多线程方面表现如何。

他们可以使用 32 个核心且容量达到 100% 吗,还是最多应该购买 24 个核心或 16 个核心?

(该机器将运行 Windows Server 2008 标准版。)

答案1

我怀疑,在这种工作速率下,系统的其他部分将开始不堪重负。解决这个问题可能更经济的方式是使用一组服务器,而不是一台单独的服务器。

答案2

答案 - 从技术上讲,由于管理更多工作的开销,100% 的容量是一个梦想,但 MS SQL Server 2008 在扩展核心/处理器方面相当擅长...这是功能图表:http://msdn.microsoft.com/en-us/library/ms143760.aspx

我大胆猜测,在增强单个大型系统时,您将追逐瓶颈,并且如果您当前的瓶颈是内存或驱动器 io,那么 CPU 的增加可能根本没有任何作用。

在 CPU 上花费的钱(以及相应的 SQL 许可证成本)可能首先花在最大化所有可用内存上会更有价值。然后考虑更快的驱动器(也许是 SSD?)显然,如果尚未考虑任何网络问题,请确保已处理这些问题。但最需要关注的是代码/设计。花在优化现有代码上的时间可能会让您获得最大的“性价比”

但是,我的主要建议是花相对较少的钱请 SQL 专业人员进行审计。让他们为您概述什么是解决您独特问题的最佳解决方案。

祝你好运!

答案3

您能否提供更多信息,比如说您在一小时内或一天内收到的请求数量?您目前拥有什么硬件?目前的瓶颈在哪里?是 CPU 还是 I/O?

ASP.NET 可以使用所有核心。MS SQL 2008 可以使用所有核心以及您允许的任何内存量。

问题从来不出在服务器软件上,而总是出在您编写的代码(即您的 ASP.NET 应用程序)、您设计数据库的方式(逻辑数据库和物理数据库)以及您编写的查询等等上。

根据优化大型公共领域网站的经验,我可以告诉你,速度变慢的不是你的 Web 服务器。这通常是应用程序的设计和编码方式以及数据库的设计方式。

您应该收集大量有关使用情况、当前硬件的数据,并分析您的 asp.net 应用程序和数据库,以查看造成压力的原因。

一旦您知道了压力的原因,解决方案可能只是需要稍微清理一下代码/数据库。

相关内容