【发布时间】:2015-10-05 11:40:33
【问题描述】:
我们一直在开发新版本的企业应用程序,并且几乎准备好开始升级我们的客户。然而,由于一切都发生了变化(后端和前端),我们必须重新确定服务器端硬件要求,更重要的是根据每天使用系统的预期用户数量所需的内核和内存数量。
应用程序后端是用 Java 编写的,将在 Wildfly 8.0.2 应用服务器上运行。此外,这个新版本的应用程序很重 Ajax,每个客户端每秒可能发起 5 个甚至更多的请求,每个请求都可能打开数据库连接以获取数据。
目前我们没有使用任何 Java 框架,例如 ejb 或 JPA,只是一个简单的基于服务的 3 层架构。假设同时有 200 个用户的最大工作负载(例如)这需要什么样的资源?作为参考,我认为每 20 个用户,旧应用程序(经过反复试验)需要大约 1 个内核和 2GB 内存。然而这一次我们想在测试前做一个粗略的估计,然后再进行微调。
【问题讨论】:
-
您可能认为您将需要至少 10 倍的 CPU 和资源,但这只是猜测。您可能会发现您需要 100 倍,但您可以调整软件并发现您需要不到 10 倍。
-
您可能还会发现数据库是一个瓶颈,这需要在不进行调整的情况下提高 10 - 100 倍。
-
好的,但是我该如何开始做假设呢?我该如何测试这个?我们需要方法
-
您需要创建一些负载,例如使用 Jmeter 处理请求和用户的实际工作负载。您很可能需要测试 20、40、60 .. 用户,直到系统表现不佳。此时你要么需要改进系统,要么使用更多系统。
标签: java web-applications resources server hardware