确定Web应用程序支持的用户数

时间:2009-06-23 17:02:26

标签: asp.net web-applications scalability

我正在开发针对商业客户的asp.net Web应用程序。任何人都可以提供一些指导我如何确定我的应用程序可以支持的用户数量吗?

此外,应用程序使用会话变量,因此它当前仅限于一个Web服务器,直到更改为止。

5 个答案:

答案 0 :(得分:3)

您可以使用在第二个盒子或sql server支持的会话上运行的会话状态服务器来解决单个盒子问题。

至于手头的问题,没有真正的方法来确定除了亲自操作生产硬件,设置应用程序和运行负载测试,直到你能够找出她在哪里休息。这不一定能为您提供实际数字,因为您必须对用户正在做什么做出假设,并且几乎不可能在测试环境中模拟网络云的影响。

答案 1 :(得分:1)

只有您/您的团队才能确定可以支持的确切数字。

您在这里的关键是深入了解您的问题域以及处理层的明显分离。

分离允许您隔离瓶颈,更轻松地调整最低性能因素的性能,然后继续下一层/性能限制。

不要做出假设,因为你会发现与你的假设无关的影响可能会让你感到惊讶。

  1. 按比例设计
  2. 设计具有单独的“层”以实现性能调整以及您自己的理智 - 这也是一个更好的设计原则,这是直接的,这是开发分割的原因之一。
  3. 测试 - 将层的“通过/失败”测试设计到设计规范只是测试的一个方面。您选择在应用程序中使用的技术,体系结构和工具的性能影响可以解决您的问题。计划对应用程序的每个部分进行更改以解决性能问题。
  4. 从每个“图层”收集效果指标,在发现性能挑战性质时调整每个图层。计划并发现如何量化每个层的性能测量结果。
  5. 在某种程度上,你必须在表现和“酷/哇”因素之间做出妥协。每个都会影响您推销解决方案的能力,然后您必须确定哪个会产生最大的影响。
  6. 这是我用来衡量设计质量的 PAIN 因素之一 - P lan A ll I ncremental N eeds并在其他地方和博客中进行过讨论。

    就个人而言,我会经常根据表现做出设计决策,但您的营销策略可能会有所不同。

答案 2 :(得分:0)

所以你知道,通过将会话移动到sql server数据库,可以非常简单地使用多个Web服务器。

快速了解如何here

至于你原来的问题,我会研究负载测试。希望会有其他海报了解更多。我会关注页面视图,而不是用户。

答案 3 :(得分:0)

测量应用程序中典型操作所需的资源(CPU,内存,磁盘,带宽)。通过代表性用户“会话”所需的资源划分可用资源,并且您有一个粗略的数字。

在您拥有一套完整的实际数据之前,您必须对典型的使用习惯和资源需求进行猜测。这就是你在估算容量时第一次通过的所有工作。

答案 4 :(得分:0)

良好的负载均衡器可以确保用户返回同一服务器。