我们在Tomacat和Web sphere应用服务器中部署了复杂的Xforms。与Web逻辑Application Server中部署的相比,Xform的性能(即表单呈现时间,控制值更改时间,动态控制值更改)相对更好。 我们用于将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应用服务器中实现了上述相同的逻辑,它似乎提供了比Web逻辑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逻辑应用服务器中的性能开销。
答案 0 :(得分:1)
在我看来,这个问题有太多可移动的部分,我们可以在这里帮助你。我建议您使用一个好的分析器(例如YourKit)来分析WebLogic和Tomcat下的相同操作。然后,您可以将收集的数据与每个应用程序服务器进行比较,并查看差异所在。
话虽如此,MaxThreadsConstraint
应该只在您进行加载测试时才有帮助。如果您在一次请求时向应用程序服务器发送一个请求,这会产生影响,我会感到惊讶,我建议您先开始测试。