Tuesday, August 04, 2009

Garbage collector

GC сам по себе есть один из главных врагов для веб-приложений (если там есть какая-то нагрузка, конечно). А для Java веб-приложений с большой нагрузкой - точно главный враг (опять таки, если мы исключаем очевидные ляпы со стороны разработчиков.

А уж поведение сборщика мусора в Tomcat - это вообще мало предсказуемое дело :-)

Последнее (крайнее :-), на что напоролись в одном из проектов - значимое различие (в смысле характеристик работы) между директивой <@jsp и тегом <jsp. Страница, которая в итоге подключалась была известна статически. В результате рефакторинга в целях оптимизации нашли способ использовать файл статически. А тег на директиву поменять забыли. Результат - загрузка сервера ~ 98%-100% после 10-12 часов работы. И это именно garbage collector, который собирал результаты от "включения" файла

P.S. вот, кстати, полезный скрипт для проверки состояния Tomcat

No comments: