Java Web 服务: WS-Security 的大开销
2009-11-05 00:00:00 来源:WEB开发网在测试中,客户机将查询范围调整为整体地震数据集的一部分,并生成一系列伪随机请求。每次使用相同输入参数运行客户机所生成的请求序列都是相同的,这允许我们测试不同的 Web 服务配置。通过更改客户机的输入参数(用于更改请求所使用的查询范围),可以轻松地测试不同的结果消息大小。
WS-Security 性能
本文所示的测试结果基于两个请求序列。第一个序列使用 1,000 条请求,查询参数经过调整以便各查询只匹配整个地震数据库的一小部分(1,000 条请求仅返回 826 次匹配的地震)。第二个序列使用 100 条请求,同时调整以匹配更大的数据库部分(100 条请求返回 176,745 次匹配的地震)。每个请求序列都在不同的安全性配置下运行了多次,每种配置只取最好的测试结果。
运行测试的环境是 Mandriva 2009.1 64-bit Linux® 系统、Athlon X2 5400+ 处理器、4GB 内存和 Sun Java 1.6.0_13 32 位 JVM。服务器代码在 Tomcat 6.0.20 上运行,配置为使用 1,024MB 大小的堆,客户机代码使用 512MB 大小的堆。我们使用 1.5 版本的 Axis2,并使用最新版本的 Rampart 代码。(在本文测试时,还没有与 Axis2 1.5 代码相匹配的 Rampart 发行版可用。要运行完整的测试集,为 Tomcat 配置 1,024MB 大小的堆是非常必要的(为各安全性配置使用单独的 Web 服务应用程序);刚开始使用 256MB 大小的堆执行测试时,WS-Security 测试有时会因为各种奇怪的错误(举例来说,未提供 DTD 时出现的 “SOAP message MUST NOT contain a Document Type Declaration(DTD)” 错误)或者 java.lang.OutOfMemoryError 而失败。
我们使用以下安全性配置运行各测试:
更多精彩
赞助商链接