0

我们目前正在开发一个 servlet,它将大图像文件流式传输到客户端。我们正在尝试使用 Apache mod_jk 负载平衡器确定集群中需要多少 Jboss 节点。我知道处理一个请求大约需要 5000 毫秒。我正在尝试使用这里的论坛http://people.apache.org/~mturk/docs/article/ftwai.html来确定有多少连接是可能的,但我遇到了一个问题,因为他们没有解释每个公式中的数字之一。具体来说,他们说您应该将每个服务器限制为每个 cpu 200 个请求,但我不知道我是否应该在公式中使用它。我们使用的每台服务器都有 8 个内核,所以我认为论坛应该是这样的:

并发用户 = (500/5000) * 200 * 8 = 100 并发用户

或者像这样:

并发用户 = (500/5000) * (200 * 8) * 8 = ~1200 并发用户

他们的意思有很大的不同。如果在他们的文档中没有示例,就很难说。谁能澄清一下?

提前致谢。

4

1 回答 1

1

我猜这些图像不是静态的,或者你会停在这条线上?

减轻 Tomcat 负载的第一件事是使用 Web 服务器来提供静态内容,例如图像等。

即使没有,您也会遇到比 8 倍更大的问题:他的公式的目的是确定在 AART(平均应用程序响应时间)不超过 0.5 秒的情况下您可以处理多少并发连接。您的应用程序需要 5 秒来处理单个请求。你应用的公式告诉你 9 位女性可以在一个月内生下一个婴儿。

如果您同意 0.5 秒是可接受的最大 AART,那么您首先必须能够在 <=0.5 秒内处理单个请求。

否则,您需要用您的(必须大于或等于您的实际 AART)替换他以 ms (500) 为单位的最大 AART 值。

最后,关于他的 CPU 术语是否应该考虑核心的问题:它会根据 CPU 和工作负载而有所不同。如果您提供大图像,您可能会受到 IO 限制,而不是 CPU 限制。你需要测试。

最大化 Tomcat 的线程池并添加更多负载,直到找到 AART 降级的点。这是他等式后半部分的实际值。但此时您可以继续测试并通过确定 AART 何时超过您的最大值来查看“并发用户”的实际值。

于 2010-08-10T21:39:25.770 回答