2

我有一个在 JBOSS AS 5.1 中运行的 Struts 1.3 应用程序。我们在 server.xml 文件中为 HTTP 连接器设置了 2000 个 HTTP 线程,并在 run.conf 文件中为 JBOSS 分配了 JVM 堆中大约 2GB 的 RAM。系统共有 4GB RAM,其余 RAM 正在被其他应用程序使用。

每当我的系统遇到超过 2000 个并发请求时,Jboss 就会挂起并停止工作。我没有在控制台上遇到异常或任何类型的内存不足错误,它只是挂起。

我该如何解决这个问题?我应该把 mod_cluster 或其他东西放在 JBOSS 前面吗?或者我应该只为连接器分配更多线程,如果是这样,我如何确定在 HTTP 连接器上的内存和 maxThreads 之间使用什么比率?

4

1 回答 1

5

2000是一个很高的数字。如果您确实需要它来处理 2000 个并发请求,您将需要设置多个实例并在实例之间平均分配负载。您可以在 jboss 前面设置负载均衡器或 apache+mod_jk。

使用多少内存取决于应用程序。使用多少实例取决于实例在负载下的性能以及您是否可以获得所需的响应时间。

于 2012-03-13T19:16:39.467 回答