Настройка производительности Xform относительно сервера приложений Weblogic - PullRequest
1 голос
/ 03 мая 2011

Мы развернули наши сложные Xforms в Tomacat и веб-сфере сервера приложений.Производительность Xform (т. Е. Время рендеринга формы, время изменения управляющего значения, динамическое изменение управляющего значения) сравнительно лучше по сравнению с аналогичным, развернутым на сервере приложений Web-logic.Логика, которую мы использовали для интеграции платформы 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-сервере приложений, который, кажется, обеспечивает лучшую производительность, чем Web-логический сервер приложений.Мы обнаружили в ресурсе 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-logic.

1 Ответ

1 голос
/ 03 мая 2011

Мне кажется, что в этом вопросе слишком много движущихся частей, чтобы мы могли вам здесь многое помочь.Я бы порекомендовал вам использовать хороший профилировщик, такой как YourKit , для профилирования той же операции в WebLogic и Tomcat.Затем вы можете сравнить данные, которые вы собрали с каждого сервера приложений, и посмотреть, в чем разница.

При этом MaxThreadsConstraint может помочь, только если вы выполняете нагрузочное тестирование.Я был бы удивлен, если бы это сказалось, когда вы отправляете запросы на сервер приложений по одному запросу за раз, и я бы рекомендовал вам сначала начать тестирование.

...