我有一个在 IIS 7 中运行的 ASP.NET 4.5 Web 应用程序,并在同一台计算机上连接到 SQL Server 2008 R2。数据库的读取非常密集,偶尔会出现大量写入突发。目前我们有一台单 CPU 服务器,但计划购买一台具有两个插槽的 R720 Hex Core 机器。为服务器配备第二个 CPU 并让 IIS 和 SQL Server 在不同的 CPU 上运行有什么好处吗?您将如何设置它以最大限度地利用硬件?
答案1
对于任何问题:
任何好处:是的。
如果将两个进程固定到两个不同的 CPU 上,那么它们都可以充分利用(第 2/3 级)缓存。这可能会快一点。两个已填充的 CPU 插槽还可以提供更多的内存带宽。
这些都是优点。但是:
- 然而,如果两个进程共享大量数据,而这些数据现在位于不同的缓存中,那么速度可能会更慢。
- 内存:您可能不需要带宽。数据库有多大?
它适合缓存吗?(不太可能,如果那么小,您就不会问问题了)。
它适合 RAM 吗?(RAM 带宽的额外性能并不好)。
它是否大到大部分都是 IO 绑定(磁盘)。(可能是,特别是如果您购买服务器的目的一半是运行这个)... - 不用说,第二个 CPU 会更贵。无论是购买成本还是耗电量、所需冷却等……
所有这些都是冗长的说法也许,这取决于。
真正确定这一点的唯一方法是衡量您当前的瓶颈。