ASP.NET 4.0和MS SQL 2008 Web Edition的32核心multithreading性能

最近我的用户数量增加了,我现在的服务器已经开始变得不足了。 我正在考虑购买使用专用服务器的4 x 8 = 32核心AMD CPU。 我不知道multithreadingASP.NET 4.0和MS SQL 2008 Web服务器有多好。

他们可以使用32核心,100%的容量,或者我应该购买最多24核心或16核心?

(本机将在Windows Server 2008标准版上运行。)

我怀疑在这个工作率下,系统的其他部分会开始呻吟。 通过使用服务器场而不是单个野兽,这个问题可能更经济。

答案 – 在技术上100%的容量是一个梦想,因为pipe理更多的工作的开销,但MS SQL Server 2008是相当不错的扩展核心/处理器…这是能力图表: http : //msdn.microsoft.com /en-us/library/ms143760.aspx

我想大胆地猜测,如果当前的瓶颈是内存或者硬盘驱动器,那么在增加一个大盒子types的系统的时候,你将会遇到瓶颈。

花费在CPU上的钱(以及相应的SQL许可成本)可能会更好地用于花费最大化所有可用内存。 然后看看更快的驱动器(SSD也许?)显然确保任何networking问题处理,如果尚未研究。 但最重要的是看代码/devise。 花在优化现有代码上的时间可能会给你带来最大的“压力”

但是,我的主要build议是 – 在SQL专业人员的审计上花费相当less的钱。 让他们给你一个解决你的独特问题的最佳解决scheme。

祝你好运!

你能提供一小时或一天中要求的更多信息吗? 你目前有什么硬件? 瓶颈在哪里? 是CPU还是I / O?

ASP.NET可以使用所有核心。 MS SQL 2008可以使用所有核心和任意数量的内存。

问题是从来没有使用服务器软件,而是始终使用您编写的代码(这是您的ASP.NET应用程序)以及您devise数据库(逻辑和物理数据库)的方式以及您编写的查询等。

从优化大型公共领域网站的经验来看,我可以告诉你,你的networking服务器不是放慢速度的地方。 它通常是应用程序的devise和编码方式,以及数据库的devise方式。

您应该收集大量关于使用情况,当前硬件的数据以及剖析您的asp.net应用程序和数据库,以查看导致压力的原因。

一旦你知道什么导致压力,解决scheme可能只是你需要清理你的代码/数据库一点。