Почему SessionSize в WicketDebugBar отличается от карты страниц, сериализованной на диске? - PullRequest
2 голосов
/ 06 августа 2011

Я активировал калитку DebugBar, чтобы отслеживать размер моего сеанса. Когда я перемещаюсь по веб-сайту, указанный размер сессии остается стабильным на уровне около 25 КБ.

Wicket Debug Bar

В то же время, количество страниц, сериализованных на диске, непрерывно увеличивается с 25 000 для каждого просмотра страницы.

enter image description here

Что это значит? Из того, что я понял, карта страниц на диске сохраняет все страницы. Но почему сессия всегда около 25к.

Какое влияние на большой веб-сайт. Если у меня 1000 параллельных веб-сессий, веб-серверу потребуется 25Mo для их хранения, а диск 250Mo (10 страниц * 25k * 1000)?

Я сделаю нагрузочный тест, чтобы проверить.

Ответы [ 2 ]

4 голосов
/ 10 августа 2011

Значение панели отладки говорит вам размер вашего сеанса в памяти. При переходе на другую страницу старая страница сериализуется в хранилище сеансов. Это обеспечивает, помимо прочего, поддержку кнопки «назад» без потери памяти.

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

Чтобы ответить на ваш второй вопрос, прошло уже какое-то время с тех пор, как я на него смотрел, но я считаю, что объем дискового хранилища ограничен 10 МБ или около того. Кроме того, вы можете изменить поведение хранилища сеансов в соответствии со своими потребностями, но это совсем другое обсуждение.

0 голосов
/ 08 августа 2011

Смотрите эту вики-страницу, которая описывает механизмы хранения в Wicket 1.5. Это немного отличается от 1.4, но для 1.4

такого документа нет

Обновление : страница вики была перемещена в руководство: https://ci.apache.org/projects/wicket/guide/7.x/guide/internals.html#pagestoring

...