asp.net - Web 服务器上更多与更快的内核

标签 asp.net windows iis hardware

<分区>

关于双核与四核的讨论与四核本身一样古老,答案通常是“这取决于您的场景”。所以这里的场景是 Web 服务器(Windows 2003(不确定是 x32 还是 x64)、4 GB RAM、IIS、ASP.net 3.0)。

我的印象是 Web 服务器中的 CPU 不需要那么快,因为请求通常相当轻量级,所以拥有更多(更慢的)内核应该是更好的选择,因为我们有很多小请求。

但是由于我在 IIS 负载平衡方面没有太多经验,而且我不想花很多钱才发现我做出了错误的选择,有更多经验的人可以评论一下是越慢还是越快的内核越好?

最佳答案

对于网络服务器之类的东西,划分处理每个连接的任务(相对)容易。我可以肯定地说,Web 服务器是并行代码最常见(并且已被淘汰)的用途之一。而且由于您能够将大部分处理拆分为多个独立的线程,因此更多的内核实际上确实对您有利。这是共享托管成为可能的重要原因之一。如果像 IIS 和 Apache 这样的服务器软件不能并行运行请求,这意味着每个页面请求都必须以队列方式发出……可能会使加载时间慢得无法忍受。

这也是为什么像 Windows 2008 Server Enterprise 这样的高端服务器操作系统支持 64 核和 2TB RAM 的原因。这些应用程序实际上可以利用那么多内核。

此外,由于每个请求的 CPU 负载很可能较低,您可能(对于某些应用程序)可以使用更慢的内核。但显然,让每个内核更快意味着能够更快地完成每项任务,并且在理论上可以处理更多任务和更多服务器请求。

关于asp.net - Web 服务器上更多与更快的内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3801/

相关文章:

c++ - 当我从 OnCopyData 返回 TRUE 时,为什么会触发断点?

Windows Azure 移动服务多次插入,如何获取范围标识

c# - 使用Asp.net web C#在IIS上动态创建网站

asp.net - Visual Studio 告诉我尚未配置可操作的本地 IIS URL

c# - C# ASP.Net 中的全局方法

c# - 与字符串比较,对 List<string> 进行排序

asp.net - 将 C# Razor 转换为 VB

c# - 像 Facebook 评论一样格式化 C# 元素符号列表

c++ - Dll 函数调用比普通函数调用更快?

azure - ARRAffinity cookie 是否始终在 azure Web 应用程序中设置?