2011-07-17 6 views
4

Мне еще предстоит найти хороший ориентир на производительность JSF. Я знаю, что вы думаете, это зависит от вашего кода/дизайна/базы данных и т. Д. Я знаю, что вам нужно оптимизировать многие вещи, прежде чем вам нужно оптимизировать уровень презентации (например, вы должны увидеть, насколько хороша ваша схема базы данных) , но скажем, ради аргумента, что мы достигли точки, в которой мы должны пересмотреть наш уровень представления.Производительность JSF: насколько масштабируемым является JSF?

JSF интенсивно работает в сеансе. Я читал кучу раз, что это может быть недостатком, когда дело доходит до написания масштабируемых приложений. Наличие больших пользовательских сеансов в кластерной среде может быть проблематичным. Есть ли статья об этом? Я бы не хотел идти на производство, чтобы увидеть, что большой жизненный цикл JSF и интеграция CDI имеют огромную стоимость в производительности.

+0

как насчет запроса на [programers.stackexchange.com] (http://programmers.stackexchange.com/). –

+2

Этот вопрос был закрыт, потому что он запрашивает мнение, дебаты, опросы и т. Д. Это все субъективно, и это определенно не то, что я ищу. Я искал факты о производительности JSF или, возможно, экспертизу использования памяти и может быть ее оптимизацией. Возможно, кто-то с достаточными знаниями может сказать мне, чтобы я не беспокоился об этом или наоборот, советую мне перейти на более безгражданную платформу. Я не думаю, что это должно быть близко, поскольку это сомнительно, что многие люди. Слишком много информации о JSF пока ничего не сказано о производительности, которая не устарела. – arg20

+0

@ arg20 вам нужно прочитать 2 вещи 1) http://blog.oio.de/2013/05/06/jsf-performance-tuning/ 2) http: //ovaraksin.blogspot.in/2013/05/jsf-choice-between-legacy-components.html – Sam

ответ

0

Я не знаю, есть ли какая-либо истина в утверждении о том, что JSF тяжел в данных сеанса. Тем не менее, я бы подумал, что способ решения проблемы масштабируемости из-за большие объемы данных сессии будет заключаться в следующем:

  • копирует внешние сервера (которые вы должны делать в любом случае после определенной точки масштабирование) и

  • запросы на отправку в интерфейсный модуль на основе токена сеанса, так что данные сеанса, вероятно, уже будут доступны в памяти.

0

В презентации слой один экземпляр приложения -> embarrassingly parallel. В принципе вы можете масштабировать его, добавляя аппаратное обеспечение; крайность должна заключаться в том, чтобы иметь одну гиперпоточку для каждого пользователя в минуту максимального количества пользователей вашего сайта. Так что scalablilty здесь не проблема. В чем может быть проблема со страницами, которые нужно визуализировать последовательно, и требуется много времени для рендеринга даже в однопользовательском режиме: если ваш JSF занимает минуту для рендеринга в однопользовательском режиме, тогда он будет слишком многопользовательским режиме, и если вы не можете отображать его в нескольких фрагментах параллельно, это необходимо для простого использования.

+0

Не проблема, если нам нужно бросить еще 10 серверов. Но в какой-то момент экономические изменения. Если вы можете сократить 100 серверов, потратив 1 человеко-год на оптимизацию программного обеспечения, это того стоит. – irreputable

+0

Да, я согласен, что всегда есть компромисс, если вы растете до огромных масштабов. –

1

Для высокой производительности следует применять липкость сеанса независимо от структуры или языка. Как это делается, зависит от вашей настройки; например, аппаратные балансировщики обычно имеют эту функцию. Тогда вам не нужно беспокоиться о задержке между серверами.

Однако производительность JSF + CDI на одной машине также очень важна. Предположим, что накладные расходы составляют 300 мс, что означает, что 4-ядерный сервер может обрабатывать только 10 запросов в секунду. Не так уж плохо, но не в классе высокой производительности. (Обычно это не проблема для компаний на банкоматах JEE, они, как правило, масштабируются по масштабам предприятия, а не интернет-масштабируются, и у них есть деньги для записи для большого количества серверов).

У меня действительно нет номера производительности; было бы интересно, если кто-то сообщит о некоторых характеристиках CDI + JSF, например, сколько времени требуется для обработки типичной страницы с формой умеренного размера.

Смежные вопросы