Web 服务响应处理花费太多时间
Web service Response processing taking too much time
我在 Tomcat 7.
上的一个 Servlet/JSP 基本 Web 应用程序上使用基于 SOAP over HTTP 的 Web 服务
我正在使用 Codehaus XFire eclispe 插件,它从 WSDL 生成客户端存根并为我插入依赖库。代码的格式为 Service name = Class name
和 Service Action = Class Method
.
所以我实例化这个 class 并调用适当的方法来使用这个服务。它工作正常。
现在我的问题是在负载测试期间,其中一项服务花费了太多时间。我从日志和 wireShark 确认服务工作正常并在几百毫秒内返回响应。
我的发现是在我的代码接收响应对象之前处理 Web 服务响应时出现高延迟。
每个请求平均花费的时间多达 40 秒。我正在测试的负载是 50 个用户和 50 次迭代,启动时间为 5 秒。
只有我一个人经历过吗?
有什么方法可以配置 xfire 中的任何属性来提高性能吗?
有谁知道发生了什么事吗?
我的项目进行中
- Servlet/JSP
- Tomcat 7
- Java 运行时 1.6
- Xfire 1.2.5 和 JAXB 2.0.1
提前致谢
请询问是否需要更多信息。
由于没有更多选择,我们决定使用 HTTPURLConnection 手动调用 Soap 服务并捕获 JAXB 上下文大大提高了性能,但是是的,我们一次又一次地结束了发明轮。
看起来 codehous XFire 有问题。我们需要计划将来将我们的应用程序迁移到一些更好的服务客户端。
我在 Tomcat 7.
上的一个 Servlet/JSP 基本 Web 应用程序上使用基于 SOAP over HTTP 的 Web 服务
我正在使用 Codehaus XFire eclispe 插件,它从 WSDL 生成客户端存根并为我插入依赖库。代码的格式为 Service name = Class name
和 Service Action = Class Method
.
所以我实例化这个 class 并调用适当的方法来使用这个服务。它工作正常。
现在我的问题是在负载测试期间,其中一项服务花费了太多时间。我从日志和 wireShark 确认服务工作正常并在几百毫秒内返回响应。
我的发现是在我的代码接收响应对象之前处理 Web 服务响应时出现高延迟。
每个请求平均花费的时间多达 40 秒。我正在测试的负载是 50 个用户和 50 次迭代,启动时间为 5 秒。
只有我一个人经历过吗? 有什么方法可以配置 xfire 中的任何属性来提高性能吗? 有谁知道发生了什么事吗?
我的项目进行中
- Servlet/JSP
- Tomcat 7
- Java 运行时 1.6
- Xfire 1.2.5 和 JAXB 2.0.1
提前致谢
请询问是否需要更多信息。
由于没有更多选择,我们决定使用 HTTPURLConnection 手动调用 Soap 服务并捕获 JAXB 上下文大大提高了性能,但是是的,我们一次又一次地结束了发明轮。
看起来 codehous XFire 有问题。我们需要计划将来将我们的应用程序迁移到一些更好的服务客户端。