登录Windows 7仅需几秒钟,而登录Windows 10仅需几分钟

时间:2019-01-15 18:38:15

标签: windows log4net

使用log4net时遇到问题。以下应用程序在Windows 7和Windows 10上运行。存在明显的性能差异。在多台Windows 10计算机上尝试了此方法,结果相似。

Log4net版本: 2.0.8.0

Windows 7: 6秒
Windows 10 :2分17秒
Windows 10信息::版本1809。操作系统内部版本:17763.253(此内部版本已被修补:KB4058258 (OS Build 16299.214))。
.NET版本: 4.6.1

test.log4net.config

<log4net>
  <appender name="FileAppender" type="log4net.Appender.FileAppender">
    <file value="c:\temp\myLog.log" />
    <appendToFile value="false" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
    </layout>
  </appender>
  <root>
    <level value="All" />
    <appender-ref ref="FileAppender" />
  </root>
</log4net>

Program.cs

using log4net;
using log4net.Config;
using System;
using System.Diagnostics;
using System.IO;

namespace ConsoleAppPerfTest
{
    public class Program
    {
        static void Main(string[] args)
        {
            XmlConfigurator.ConfigureAndWatch(new FileInfo("test.log4net.config"));
            var t = new Test();
            var sw = new Stopwatch();
            sw.Start();
            t.RunTest();
            sw.Stop();
            Console.WriteLine("Elapsed Minutes: {0}", sw.Elapsed.TotalMinutes);
            Console.ReadLine();
        }
    }

    public class Test
    {
        private readonly ILog _log = LogManager.GetLogger(typeof(Test));

        public void RunTest()
        {
            for (int i = 0; i < 22000; i++)
            {
                _log.DebugFormat("test logging something: {0}", i);
            }
        }
    }
}

由于某些原因,当您从test.log4net.config删除此行时,Windows 10中的性能运行速度甚至快于Windows 7:

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

enter image description here

0 个答案:

没有答案