确定企业Web应用程序的服务器硬件要求

时间:2015-10-05 11:40:34

标签: java web-applications resources server hardware

我们一直在开发新版本的企业应用程序,我们几乎准备开始升级客户。但是,由于一切都已改变(后端和前端),我们必须重新确定服务器端硬件要求,更重要的是根据每天使用该系统的预期用户数量来重新确定所需的核心数和内存数。 / p>

应用程序后端是用Java编写的,将在Wildfly 8.0.2应用服务器上运行。此应用程序的新版本也是Ajax,每个客户端可能每秒启动5个甚至更多的请求,每个请求都可能打开数据库连接以获取数据。

目前我们没有使用任何Java框架,如ejb或JPA,只是一个简单的基于服务的3层架构。假设同时有200个用户的最大工作负载(例如)需要什么样的资源?作为参考,我认为旧应用程序(经过试验和错误)每20个用户需要大约1个核心和2GB内存。但是这次我们想在测试之前做一个粗略的估计并在之后进行微调。

1 个答案:

答案 0 :(得分:6)

自定义软件的容量估算没有规则。你只需要测试它。有很多工具可以帮助你。您可能想要创建一些验收标准,例如;

  • 能够在Y分钟内处理X客户订单
  • 以响应时间<提供页面Z的能力。 200ms的

一旦设定了验收标准,过程通常就是这样;

  1. 找出可能的使用模式/用户旅程。
  2. 编写一些测试,以产生与您的发现匹配的流量,以及测试验收标准的一些测试。
  3. 使用不同数量的并发用户(例如10,100,1000)在参考硬件上运行这些测试(只选择一些东西;并不是真的重要)。
  4. 衡量响应时间如何随着用户数量的不同而变化。
  5. 您现在有一个性能参考点/基准。您可以说在硬件A上我们的软件支持B个并发用户,响应时间在C以下。您可以根据不同的客户需求进行扩展。例如,如果客户估计您测试的流量加倍,那么您可能希望让服务器群集共享负载以保持性能。

    一旦您有一些客户在野外使用您的软件,您就可以获得反馈/收集有关其执行情况的信息。这有助于您优化基准。