【问题标题】:Web server capacity planning: more cores versus more memoryWeb 服务器容量规划:更多内核与更多内存
【发布时间】:2010-10-11 06:50:55
【问题描述】:
我们有一个很快需要部署的 ASP.NET 项目(大约 40 个 Web 表单、50 个表、相当标准的 IO 内容,并注意尽可能减少)。系统上将有大约 100 个并发用户,但任何时候只有大约 20 个用户会在它上面猛烈攻击。我们最初会将其部署在 32 位的 Windows Server 2008 上。
在考虑生产服务器规格时,我们应该更多地担心是获得更多内核和更少内存(例如 4 核和 4mb)还是更多内存和更少内核(2 核和 8mb)?
升级到 Windows Server 64 位是否有助于提高内存利用率?
【问题讨论】:
标签:
memory
windows-server-2008
multicore
capacity-planning
【解决方案1】:
32 位 Windows Server 只能寻址 ~3gb 的内存。获得 64 位、2 核和 4GB。或者,如果钱不是问题,请获得 8 个内核和 24GB。关键是永远不要猜测。如果你猜你就错了。监控内存压力和cpu负载,并根据需要购买更多/升级。试图猜测性能瓶颈是什么是不可能的,也是愚蠢的。 唯一的方法是衡量,衡量,衡量和响应。
【解决方案2】:
未包含的一条重要信息是数据库将保存多少数据以及每个用户将使用多少数据。这将决定您需要多少缓存,以及它是否都适合缓存,或者您是否会更多地访问磁盘。
利用率?仅当您要使用 > 3.5GB 的内存时。如果同时有 20 个活跃用户,您将需要所有 4 个内核和一个相当大的缓存,因为您最不想要的是从缓存中刷新一个活跃用户数据以加载另一个活跃用户数据,只需要访问磁盘在他们采取下一步行动时获取第一个用户数据,从缓存中发送另一个活动用户数据......(阅读:抖动)。