System requirements 如何定义web应用程序的最低服务器要求

System requirements 如何定义web应用程序的最低服务器要求,system-requirements,System Requirements,我正在用C#-MVC开发一个web应用程序。 我找不到任何关于如何定义以下方面的建议服务器要求的适当信息: CPU内核和速度 带宽 记忆 磁盘空间(这个很容易计算:) 我应该问什么问题?这可能会影响上述参数,答案会如何影响这些参数?e、 g.如果客户说他/她希望系统中有20个并发用户,我如何将其乘以以了解所需的内存消耗或CPU使用情况?您可以在测试中这样做。微软甚至提供了一个关于如何使用.NET实现这一点的经验法则,即如果您预计有20个并发用户,您应该能够处理40-60(x 2-3)来处理峰

我正在用C#-MVC开发一个web应用程序。 我找不到任何关于如何定义以下方面的建议服务器要求的适当信息:

  • CPU内核和速度
  • 带宽
  • 记忆
  • 磁盘空间(这个很容易计算:)

我应该问什么问题?这可能会影响上述参数,答案会如何影响这些参数?e、 g.如果客户说他/她希望系统中有20个并发用户,我如何将其乘以以了解所需的内存消耗或CPU使用情况?

您可以在测试中这样做。微软甚至提供了一个关于如何使用.NET实现这一点的经验法则,即如果您预计有20个并发用户,您应该能够处理40-60(x 2-3)来处理峰值(因为网站访问行为类似于一个基准测试工具,而且大多数基准测试工具都模拟了随时间推移的均匀负载)

  • 获得一个“标准”服务器,一个开发框就可以了
  • 做基准测试(我是一个我会使用的rubyst)
  • 查找服务器稳定的并发用户号,获取负载统计信息(使用的原始cpu功率、使用的内存、使用的磁盘io…)
  • 扩展负载统计信息,直到满足并发用户数要求
  • 将最后的值乘以2到3之间的值-这些是您的服务器统计数据

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

    您忘记了磁盘IO,这是数据库的主要瓶颈,数据库通常是web应用的主要瓶颈,并且是最难横向扩展的瓶颈,不要忽略磁盘IO