【问题标题】:How do you define minimum server requirements for a web application如何定义 Web 应用程序的最低服务器要求
【发布时间】:2014-01-20 18:53:16
【问题描述】:

我正在用 C# - MVC 开发一个 Web 应用程序。 我找不到任何关于如何定义推荐的服务器要求的体面信息:

  • CPU 内核和速度
  • 带宽
  • 内存
  • 磁盘空间(这个很容易弄清楚.. :)

我应该问什么问题?这可能会影响上述参数,答案将如何影响它们?例如如果客户说他\她希望系统中有 20 个并发用户,我如何将其倍增以了解所需的内存消耗或 CPU 使用率?

【问题讨论】:

  • 你忘了磁盘 IO,这是数据库的主要瓶颈,数据库通常是 Web 应用程序的主要瓶颈,也是最难水平扩展的瓶颈,不要掩盖磁盘 IO

标签: system-requirements


【解决方案1】:

经验法则是,如果您预计有 20 个并发用户,您应该能够处理 40-60 (x 2-3) 来处理峰值(因为网站访问的行为类似于 poisson process 并且大多数基准工具模拟均匀负载时间)

  1. 获得“标准”服务器,开发盒可能会这样做
  2. 做基准测试(我是一个 ruby​​st 我会使用https://github.com/dbrady/tourbus
  3. 查找服务器稳定的并发用户数,获取负载统计信息(使用的原始 cpu 功率、使用的内存、使用的磁盘 io...)
  4. 扩展负载统计,直到满足并发用户数要求
  5. 将最后一个值乘以 2 到 3 之间的某个值 - 这些是您的服务器统计信息

PS 带宽不同,由于缓存,不确定如何有效衡量 - 这在很大程度上取决于用户在您的网站上停留的时间

【讨论】:

    【解决方案2】:

    你会在你的测试中这样做。微软甚至提供了一个guide 来说明如何使用 .NET 来实现这一点

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 2018-03-16
      相关资源
      最近更新 更多