2014-09-17 2 views
1

Я разработал веб-приложение с использованием log4j-1.2.14.jar, и я вижу, что org.apache.log4j.spi.LocationInfo занимает 76% от моего процессорного времени.Log4j LocationInfo Struts + Tomcat slowown

Я проверил Java VisualVM

The problem

Может кто-нибудь поможет мне с тем, чтобы улучшить Efficience моего веб-приложения

Большое спасибо заранее

ответ

1

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

Закономерности преобразования, которые делают ваш плохой производительности являются:

  • %l комбинированный пакет, класс, метод и номер строки. В документации сказано, «его поколение крайне медленно и следует избегать, если скорость выполнения не является проблемой»
  • %F файла
  • %L номер_строки
  • %C имя_класса (лучше использовать% с)
  • %F файла
  • %M метод имя

Также лучше использовать %d{ISO8601}, %d{DATE} или %d{ABSOLUTE} чем-то вроде %d{dd MMM yyyy HH:mm:ss,SSS}. Но это ограничение производительности не так драматично, как у упомянутых выше шаблонов преобразования.

См. Предупреждения о низкой производительности в справке log4j: https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html

Смежные вопросы