构buildASP.NET和SQL Server机器; 需要一些帮助

我目前有一个asp.net web应用程序运行在我们的networking上的wp iis 5.1和sql server 2005的xp机器上。 这个应用程序处理大型excel文件(50MB +),处理1000个产品信息logging中的100个,并处理这些数据。 现在没有多less人可以访问该应用程序,并在系统冻结的情况下做大量的事情。

我希望在任何时候都能有10个人使用这个系统来完成这些大任务。

我应该分开Web服务器和SQL服务器在不同的机器上? XP,Vista,7,Windows服务器? 32位,64位? 内存? CPU的?

显然成本有点问题…

任何build议,想法,或链接到文章将不胜感激!

您的应用程序要求今天似乎不太繁重。 使用精心指定的机器,您不需要将函数分离到SQL框和Web框中。

如果成本是一个主要因素,那么操作系统和SQL版本将取决于许可成本,而这取决于您的组织是否有来自MS的合作伙伴协议/特殊交易。

但是,在投入资金之前,确实值得在整个系统devise中进行研究。 通常可以通过更改SQL数据库中的locking/隔离scheme来修复“冻结” – 如果用户尝试从正在使用SQL的默认locking更新的表中读取数据,则会被阻止。 (请看READ UNCOMMITTEDNOLOCK提示,但不要盲目依赖它们)

还要看PerfMon,看看磁盘I / O是否导致你的速度变慢(查看average disk queue length预期值) – 这将有助于了解是否需要专注于新计算机上更好的磁盘arrays(RAID 1, 5,10等)。

你知道Windows XP上的IIS 5.1在并发用户方面有一些严重的限制吗? 我相信这个限制是2个并发的HTTP连接; 这不是一个服务器操作系统。

我认为你可以破解registry,以启用10,但我认为你明白我的意思。 无论IIS平台如何,将SQL服务器移动到其他服务器都是一个好主意。

-Oisin

其实这个限制是10.你正在考虑从客户端angular度来看2个连接到同一个主机的WinInet限制。

将其移到Server 2003或Server 2008实例中,除非从并发angular度来看代码写得不好,否则应该没问题。 如果你正在访问物理文件,例如excel文件,而没有进行适当的locking等来进行并发pipe理,那么你可能还是不走运。

IIS 5.1实际上是你的物理限制。 正如其他人所说,Windows XP不是一个服务器,所以内置的networking服务器不能处理超过10个用户连接的一次。

将应用程序移动到Windows Server 2003或2008将为您的应用程序提供更多的潜力。 如果您一天中不想查看几百个连接,那么在机器上运行SQL Server和Web服务器都可以。 如果你正在寻找更多的东西,比起分离的问题可能是一个更好的方式去与此。

祝你好运,希望这有助于一些。