Может ли запись в лог-файлы серьезно замедлить ваше приложение? - PullRequest
7 голосов
/ 22 апреля 2010

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

Ответы [ 5 ]

5 голосов
/ 22 апреля 2010

Это замедлит работу вашего приложения (очевидно), но это сильно зависит от вашего приложения, если замедление квалифицируется как «серьезное». Я думаю, вам нужно дать ему поработать, а затем решить, приемлема ли производительность ...

4 голосов
/ 22 апреля 2010

Конечно, это может .

Как вы уже сказали, это зависит от того, как вы пишете.

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

2 голосов
/ 22 апреля 2010

Да, может.Крайне важно учитывать конфигурацию, поэтому вы можете настроить ее так, чтобы она не записывала слишком много журналов, а также не имела больших накладных расходов.

например.

if (logger.IsDebugEnabled)
{
  logger.DebugFormat("log: {0}", myObject.ToString());
}

Это будет запускать ToString, только еслиНужен.

Тот факт, что вам нужно записать журнал на диск, когда вы его включили - вы ничего не можете сделать против этого.Но обычно бесполезно писать слишком много логов, потому что никто их никогда не прочитает.

1 голос
/ 22 апреля 2010

Я не уверен относительно медленности приложения.

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

0 голосов
/ 22 апреля 2010

«Медленно» не является двоичным свойством. Это относительно того, что еще ты делаешь.

Если все, что вы делаете, занимает в 10 раз больше времени настенных часов, чем ведение журнала, то ведение журнала увеличит его на 10 процентов : (10/10 + 1/10 = 1.1)

Если что-то еще, что вы делаете, занимает 1/9 времени настенных часов по сравнению с регистрацией, то запись увеличит ее в 10 раз : (1/1 + 9/1 = 10)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...