|
|
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Сколько памяти выделяет java на HTTPSession под каждого пользователя. И каким образом она сохраняет объекты (сохраняет указатель на объект в куче или как то иначе)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 14:01 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceСколько памяти выделяет java на HTTPSession под каждого пользователя. Нисколько не "выделяет". Сколько туда разработчик объектов "напхает", столько они в памяти и займут. Ну, конечно, плюс данные от контейнера. apprentice-noviceИ каким образом она сохраняет объекты (сохраняет указатель на объект в куче или как то иначе)? Что такое "сохраняет объекты". Куда сохраняет? В памяти клиент трекается через jsessionid. Контейнер хранит ассоциативный массив aka Map с jsessionid в качестве ключа. Все объекты в памяти JVM и так хранятся в куче. На диск объекты дампятся через стандартный механизм сериализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 14:12 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Я имел в виду - не происходит ли дублирование объектов. Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 14:18 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceBlazkowicz, Я имел в виду - не происходит ли дублирование объектов. Прямо в лоб, так ответ - нет. Но есть ньюансы. До тех пор пока сессия жива - она будет держать ссылки на объекты в своем экземпляре списка. И если они где-то стали не актуальными и в другой сессии будут новые товары, то старая сессия будет держать старые копии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 14:25 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Помимо этого жирные серверные сессии трудно масштабировать. Плюс это дополнительное время при перезапуске сервера и редеплое. Лучше состояние унести на клиента целиком и полностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 14:48 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Насколько я понял по завершению сессия удаляет свои объекты. А в каких случаях она их серриализует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 14:53 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Я бы с удовольствием, но у меня в сессии хранятся списки товаров с закрытыми полями типа приходной цены. На клиенты их отдавать не хорошо. Хотя если есть другой вариант реализации подскажите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 15:01 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceНасколько я понял по завершению сессия удаляет свои объекты. А в каких случаях она их серриализует? Сессия ничего не удаляет. Она не самостоятельна. Сериализация происходит, обычно, во время штатной остановки JEE модуля. А так же при репликации сессий в кластере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 15:09 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceBlazkowicz, Я бы с удовольствием, но у меня в сессии хранятся списки товаров с закрытыми полями типа приходной цены. На клиенты их отдавать не хорошо. Хотя если есть другой вариант реализации подскажите. А эти данные и к пользователю отношения не имеют. Если вам дорого читать их из БД, то используйте кеширование. Но нужно понимать, что в БД данные более актуальны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 15:12 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceBlazkowicz, Я бы с удовольствием, но у меня в сессии хранятся списки товаров с закрытыми полями типа приходной цены. На клиенты их отдавать не хорошо. Хотя если есть другой вариант реализации подскажите. сказал бы просто - корзина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 15:19 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Petro123, Говорю просто корзина. Как реализовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 16:11 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-novicePetro123, Говорю просто корзина. Как реализовать не думать много про кучи)). Сохраняй и всё. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 16:16 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Petro123, Ой что то я тупанул это не корзина это педжинация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 16:32 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-novicePetro123, Ой что то я тупанул это не корзина это педжинация ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 17:18 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПомимо этого жирные серверные сессии трудно масштабировать. Плюс это дополнительное время при перезапуске сервера и редеплое. Лучше состояние унести на клиента целиком и полностью. А уж как быстро жирные сессии реплицируются по узлам кластера. :) Но иногда и клиента можно перенагрузить. Особенно если данные нужны для долговременных расчетов. Причем вставать на путь Ваадина, на каждый чих кучу оберток по обе стороны сетевого интерфейса и все хранятся перманентно - тоже не вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 09:14 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-novice Хотя если есть другой вариант реализации подскажите. Читать из базы с кешем. Вряд ли у Вас приходная цена сильно меняется от сессии к сессии. Нефиг переменные уровня приложения хранить в каждой сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 09:16 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, МММ как бы это сказать есть проблема с самой базой. В плане проэктирования. В остатках товара в качестве ид используется дикая смесь (ИД товара, ИД точки, ИД сери, цена приход, цена расход) – такое безобразие читать каждый раз мне кажется не очень быстрым вариантом. Хотя может я и ошибаюсь. На текущий момент для реализации педжинации я вычитываю из базы количество строк на страницу и сохраняю строки в список объектов, а строку выбранную клиентом определяю по номеру строки который присылает клиент. Таким образом у клиента присутствуют только номера строк. Контроллеру я сделал @SessionScope Можно ли будит реализовать такое через кеш, без @SessionScope ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 09:56 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-novice На текущий момент для реализации педжинации я И часто ходят на вторую страницу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 10:05 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceВ остатках товара в качестве ид используется дикая смесь (ИД товара, ИД точки, ИД сери, цена приход, цена расход) – такое безобразие читать каждый раз мне кажется не очень быстрым вариантом. Ребкая БД в наше время проседает от составного ключа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 10:07 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньевapprentice-novice На текущий момент для реализации педжинации я И часто ходят на вторую страницу? Пока нет информации. Но хочется по максимуму предусмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 10:13 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceПока нет информации. Но хочется по максимуму предусмотреть. Предварительная оптимизация не лучшая вещь на свете. Ускорять пейджинг, которым будут пользоваться в 1 проценте случаев замедляя работу приложения на 10% (цифры взяты условно) не лучшее занятие. Сессия может оказаться долгоживущим объектом и Ваш кеш постраничной загрузки перекочует в область долгоиграющих объектов. Что не очень комильфо. Одно дело если этим будут пользоваться постоянно. Другое дело если в 99% случаев посмотрев на первую страницу человек уйдет по ссылке или добавит фильтр и сменит порядок сортировки или еще чего. Настолько ли долго читаются данные из БД, чтоб об этом стоило думать заранее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 10:29 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
apprentice-noviceНо хочется по максимуму предусмотреть. Во-первых - превентивная оптимизация. Во-вторых - никому не нужно листать дальше первой страницы. Нужна хорошая фильтрация чтобы по нужным параметрам находить записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 10:31 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Возможно ВЫ правы. Всех благодарю за участие в обсуждении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 10:59 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевНастолько ли долго читаются данные из БД, чтоб об этом стоило думать заранее? чтение из базы с применением фильтов (при правильной расстановки индексов в базе и правильном построении самой базы) практически мнгновенно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 12:03 |
|
||
|
HTTPSession и объекты
|
|||
|---|---|---|---|
|
#18+
вадяСергей АрсеньевНастолько ли долго читаются данные из БД, чтоб об этом стоило думать заранее? чтение из базы с применением фильтов (при правильной расстановки индексов в базе и правильном построении самой базы) практически мнгновенно. Из описанного выше сложного ключа представьте индексы. Да и как то о размерах никто ничего не упомянул и о соединениях. Хотя та же табличка имеет 450 000 строк + добавляем соединения с товарами и точками. Хотя да при одном пользователе даже это работает терпимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2017, 12:40 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39389689&tid=2123224]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
60ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 353ms |

| 0 / 0 |
