【发布时间】:2015-02-08 19:08:49
【问题描述】:
我正在 Tomcat 7 上的一个 Servlet/JSP 基础 Web 应用程序上使用基于 HTTP 上的肥皂的 Web 服务。
我正在使用 Codehaus XFire eclispe 插件,它从 WSDL 生成客户端存根并为我插入依赖库。代码格式为Service name = Class name 和Service Action = Class Method。
所以我实例化这个类并调用适当的方法来使用这个服务。它工作正常。
现在我的问题是在负载测试期间,其中一项服务花费了太多时间。我从日志和wireShark 确认服务运行良好,并在几百毫秒内返回响应。
我的发现是高延迟是在我的代码接收响应对象之前处理 Web 服务响应。
每个请求平均花费的时间多达 40 秒。我正在测试的负载是 50 个用户和 50 次迭代,加速时间为 5 秒。
只有我一个人经历过这个吗? 有没有办法在 xfire 中配置任何属性来提高性能? 有人知道发生了什么吗?
我的项目正在进行中
- Servlet/JSP
- 雄猫 7
- Java 运行时 1.6
- Xfire 1.2.5 和 JAXB 2.0.1
提前致谢
如果需要更多信息,请询问。
【问题讨论】:
-
XFire 是一项古老的技术。如果您使用它的继任者之一,例如 Apache CXF,您可以获得更多帮助。
-
谢谢,但谁能帮我解决这个问题。我继承了这个项目进行优化。我被困在这里了。
-
您是否可以控制项目,即您可以更改响应结构吗?很高兴看到响应中生成的 XML。您查看响应的大小了吗?
-
它返回 100 条不超过 1000 行的记录,并且在文件系统上的大小约为 2kb。
-
我只是在使用服务,我无法更改响应。
标签: java web-services jaxb tomcat7 xfire