2010-08-10 59 views
0

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

并发用户数=(五千分之五百)* 200 * 8 = 100个并发用户

或者这样:

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

它们意味着什么会产生很大的差异。没有在他们的文档中的例子很难说。任何人都可以澄清?

在此先感谢。

回答

1

我想这些图像不是静态的,或者你已经停在这条线?

首先要减轻来自 Tomcat的负载是使用Web服务器 服务如图像, 等静态内容..

即使没有,你有更大的问题比系数8:他的公式的目的是确定没有AART(平均应用程序响应时间)超过0.5秒时可以处理多少个并发连接。您的应用程序需要5秒钟才能提供一个请求。你应用它的公式告诉你,9个女人可以在一个月内生产一个婴儿。

如果您同意0.5秒是最大可接受的AART,那么您首先必须能够在< = 0.5秒内提供单个请求。否则,您需要用ms(500)替换其最大AART的值(必须大于或等于您的实际AART),以毫秒为单位(500)替换其值。

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

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