我们目前正在开发一个将大型图像文件流式传输到客户端的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个并发用户
它们意味着什么呢?在他们的文档中没有示例,很难说。任何人都可以澄清吗?
提前致谢。
答案 0 :(得分:1)
我猜这些图像不是静态的,或者你已经停在这条线上了?
首先要减轻负担 Tomcat将使用Web服务器 提供像图像一样的静态内容 等。
即使没有,你的问题也比8倍大:他的公式的目的是确定你可以处理多少并发连接而没有AART(平均应用程序响应时间)超过0.5秒< / em>的。您的应用程序需要5秒钟才能提供单个请求。你正在应用的公式告诉你,9个女人可以在一个月内生产一个孩子。
如果您同意0.5秒是最大可接受的AART,那么您首先必须能够在<= 0.5秒内提供单个请求。
否则,您需要将您的值替换为最大AART(以秒为单位)(500)与您的值(必须大于或等于实际AART)。
最后,关于他的CPU术语是否应该考虑核心的问题:它将根据CPU和CPU而变化。工作量。如果您正在提供大型图像,那么您可能是IO绑定的,而不是CPU绑定的。你需要测试。
最大化Tomcat的线程池&amp;添加更多负载,直到找到AART降级的点。这是他等式后半部分的实际值。但此时您可以通过确定AART何时超过最大值来继续测试并查看“并发用户”的实际值。