1

我们在 Tomacat 和 Web sphere Application 服务器中部署了复杂的 Xforms。Xform 的性能(即表单渲染时间、控件值更改时间、动态控件值更改)与部署在 Web 逻辑应用程序服务器中的相同性能相比要好得多。我们用于将 Orbeon 框架与我们的 J2EE 框架集成的逻辑如下所述, 1) 我们将 view.xml 存储在我们的数据库中(需要渲染的实际 Xform)。2)我们从数据库中检索相同的内容并注入请求属性,如下所示,

request.setAttribute(OPS_XFORMS_RENDERER_DOCUMENT_ATTRIBUTE_NAME,
            formTemplate.getTemplateContent());
getOPSDispatcher("/xforms-renderer").forward(request, response);

上面提到的我们在 Tomacat 和 Web sphere Application Server 中实现的相同逻辑似乎提供了比 Web-logic Application Server 更好的性能。我们在 Orbeon 资源中发现,如果我们编辑 WEB-INF/weblogic.xml,并添加以下元素:

<wl-dispatch-policy>OrbeonWorkManager</wl-dispatch-policy>

<work-manager>
 <name>OrbeonWorkManager</name>
 <max-threads-constraint>
   <name>MaxThreadsConstraint</name>
   <count>4</count>
 </max-threads-constraint>
</work-manager>

将提高性能。它对我们的情况有用吗?请就上述情况向我们提出建议,并为我们提供任何有用的建议,以解决我们在 Web 逻辑应用程序服务器中的性能开销。

4

1 回答 1

1

在我看来,这个问题有太多可动的部分,我们无法在这里为您提供很多帮助。我建议您使用良好的分析器(例如YourKit)来分析 WebLogic 和 Tomcat 下的相同操作。然后,您可以将收集到的数据与每个应用程序服务器进行比较,看看差异在哪里。

话虽这么说,MaxThreadsConstraint只有在您进行负载测试时才会有所帮助。如果这在您一次向应用程序服务器发送一个请求时产生影响,我会感到惊讶,我建议您首先开始测试。

于 2011-05-03T17:22:58.460 回答