Почему Log4Net работает так медленно в моей службе Windows? - PullRequest
3 голосов
/ 11 ноября 2008

У меня есть служба Windows, которая использует log4net. Мы заметили, что рассматриваемая служба работает мучительно медленно, поэтому мы подключили к ней отладчик и пошли дальше. Похоже, что каждый раз, когда он пытается записать запись в журнал через log4net, это занимает от 10 до 30 секунд, прежде чем может быть выполнена следующая строка кода. Очевидно, это складывается ...

Услуга 2.0 .net Мы используем log4Net 1.2.0.30714. Мы проверили это на компьютере с Vista и на компьютере с Win Server 2003 и получили такие же или похожие результаты.

Ответы [ 6 ]

1 голос
/ 14 ноября 2008

Оказалось, что кто-то добавил SMPTAppender в файл конфигурации, который переопределял тот в нашем приложении. В результате ошибочный адрес SMPT-сервера был недоступен. log4net пытался регистрировать ошибку в течение минуты на запрос, а затем сдавался и переходил к следующей строке кода. Исправление адреса smtp устранило проблему.

1 голос
/ 11 ноября 2008

Джефф упомянул проблему с производительностью Log4Net в Podcast 20 . Возможно, вы видите похожую проблему.

0 голосов
/ 11 ноября 2008

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

0 голосов
/ 11 ноября 2008

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

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
      <file value="D:\\ROPLogFiles\\FileProcessor.txt" />
      <appendToFile value="true" />
      <datePattern value="yyyyMMdd" />
      <rollingStyle value="Date" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
      <threshold value="INFO" />
    </appender>
0 голосов
/ 11 ноября 2008

Проверьте ваш конфигурационный файл для настроек Log4Net. Log4Net может быть настроен для входа на удаленную машину, и если соединение медленное, то будет и ваша скорость регистрации.

0 голосов
/ 11 ноября 2008

У меня есть log4net с adonet appender, и я не видел снижения производительности моей службы Windows. каким аппендером вы пользуетесь?

...