Java 为多个同时的SOAP请求配置Tomcat
我是一个Tomcat新手,所以我猜答案很简单,但谷歌今天对我并不友好 我在ApacheTomcat上安装了一个Java web应用程序。虽然应用程序有一个头版(用于诊断目的),但应用程序实际上是关于SOAP接口的。任何客户端都不需要查找服务器的网页。客户端向服务器发送SOAP请求,服务器解析请求,然后在数据库中查找结果。然后,再次通过SOAP将结果传递回客户端 在默认配置中,Tomcat似乎将请求排队。我的实验包括将客户端安装在两台不同的机器上,指向同一台服务器,并在完全相同的时间运行搜索(一台是0.11秒,另一台是0.11秒,但你得到了图片) 如何配置并发请求线程的数量? 我的理想配置是有X个请求线程,每个线程每Y分钟或在Z个请求之后(以较早者为准)循环自身(即调用析构函数和构造函数并循环其内存分配)。我听说可以配置IIS来实现这一点(虽然我也没有IIS方面的经验),但是您如何使用Tomcat来实现这一点呢 我希望能够回收线程,因为Tomcat似乎在请求进入时获取内存,而不是释放它,这意味着当我们接近内存限制(我已经在2GB服务器上配置为1GB)时,偶尔会出现Java堆空间错误(但不一致)。我不能100%确定这是因为我的应用程序内存泄漏,还是因为我使用的工具占用了大量内存 任何建议都将不胜感激 谢谢,Java 为多个同时的SOAP请求配置Tomcat,java,tomcat,soap,Java,Tomcat,Soap,我是一个Tomcat新手,所以我猜答案很简单,但谷歌今天对我并不友好 我在ApacheTomcat上安装了一个Java web应用程序。虽然应用程序有一个头版(用于诊断目的),但应用程序实际上是关于SOAP接口的。任何客户端都不需要查找服务器的网页。客户端向服务器发送SOAP请求,服务器解析请求,然后在数据库中查找结果。然后,再次通过SOAP将结果传递回客户端 在默认配置中,Tomcat似乎将请求排队。我的实验包括将客户端安装在两台不同的机器上,指向同一台服务器,并在完全相同的时间运行搜索(一台
Rik默认情况下,Tomcat最多可以处理150个并发HTTP请求-这是完全可配置的,并且显然根据您的服务器规范和应用程序而有所不同 然而,如果你的应用程序必须处理“突发”连接,我建议你查看Tomcat的最小和最大“空闲”线程。这些线程正在积极等待连接。如果没有足够的等待线程,Tomcat必须分配更多的线程(这会产生轻微的开销),因此您可能会看到延迟 另外,请看我对这个问题的回答,其中包括如何配置连接器:
另外,看看基本的JVM调优——特别是堆分配开销和GC暂停时间。太奇怪了。。。SOAP请求最终是HTTP请求,Tomcat——作为任何web容器——能够支持并发请求(无需排队)。您的SOAP引擎是什么(Axis,JAX-WS)?我相信JAX-WS。总是有可能我错了,它没有排队,但即使是这样,我仍然希望能够配置它/了解配置是什么。Tomcat默认情况下会执行并发请求(没有它就没用了!)。请发布您用于实现服务的WS-framework。您是否查看了数据库配置?可能数据源仅配置为接受单线程请求(库存设置中非常常见)?