Каков объем памяти сервлета Java EE?

Для Jetty, Tomcat или любого другого контейнера сервлетов по вашему выбору, каков средний размер (память и любые другие заметные ресурсы) базового сервлета? Это включает в себя любые другие базовые объекты, которые вам почти всегда нужны для каждого сервлета, такие как распознаватель представлений.

В частности, я не ищу количественное число, но любой ориентировочный ответ, который может дать представление о том, насколько "тяжелый" или "легкий" сервлет.

2 ответа

Решение

Я не думаю, что это то, что вы получаете много пользы, спрашивая о переполнении стека. Изменчивость в определении "базового" и различных версий программного обеспечения сервлета будет намного больше, чем количество усилий, необходимых для самостоятельной проверки.

Просто создайте сервлет типа "hello-world", в котором нет полей, запустите выбранные контейнеры сервлетов с помощью этой WAR и измерьте использование памяти. Это, в общем, даст вам издержки контейнера сервлета, которые вы сможете затем вычесть из ваших фактических измерений памяти, когда увидите, насколько "тяжелым" является целевой сервлет.

Числа будут гораздо полезнее, если вы создадите сами, используя фактическую целевую версию контейнера сервлета в рассматриваемой системе, чем кто-то, отвечающий здесь, говоря "47 МБ" или подобное.

Размер контейнера довольно не имеет значения (Tomcat или Jetty, а не Websphere или что-то подобное), если вы не занимаетесь встроенным программированием. Размер сервлета может быть настолько маленьким, насколько вам нужно, либо настолько большим, насколько вам это нужно. Вообще говоря, веб-приложения без сохранения состояния будут иметь меньше накладных расходов на поток, чем приложения с состоянием.

Другие вопросы по тегам