Мне нужно подтвердить теорию.Я изучаю JSP / Java.
Посмотрев на существующее приложение (я не писал), я заметил кое-что, что, как мне кажется, вызывает нашу проблему с производительностью.Или хотя бы некоторые из них.
Работает так:
1) пользователь открывает страницу поиска.
2) страница поиска (по умолчанию) сбрасывает ВСЕ СТРОКИ.329 000 из них.Да.329K.В ArrayList.Каждый элемент в ArrayList представляет собой пользовательский JavaBean, связанный с таблицей БД.
3) Затем ArrayList передается в PaginateResultSet.
4) Тогда PaginateResultSet (prs) (329k строк)хранится в переменной сеанса: session.setAttribute ("resultSet", prs);
5) Каждая дополнительная «Следующая страница» затем получает 20 строк из getAttribute («resultSet») и отправляет их в сетку данных Ext.
Хорошо, теперь я ошибаюсь, полагая, что гигантский набор результатов хранится в памяти СЕРВЕРА для каждого потока каждого пользователя?Так что, если этот набор результатов занимает 20 мегабайт оперативной памяти, и у нас 20 одновременных пользователей, у нас теперь 400 мегабайт, взятых с сервера?
Разве не плохая идея передавать ТАК много данных в атрибутах сеанса??
Спасибо за любые указатели.