Upgrading to TeamCity 5.0 and problems with the NUnit add-in

Hi,

I just upgraded our TeamCity server from 4.5 to 5.0.1 and have noticed a dramatic slow down running our build.

I haven't confirmed for sure, but it seems that the new 2.5.3 nunit add-in slows nunit console down heaps. Our build usually takes about 1h15m, when it has just taken over 2h30m. I can also see in task manager that nunit-console-x86 is raising thousands of page faults, which I need to determine whether that was occurring before.

TeamCity version 5.0.1
Web server running on Windows Server 2008 x64
All build agents are Windows Server 2003 R2 32-bit

Are you aware of anything that could cause this? I am off to bed now, but tomorrow I will do some more investigation into why our build has become so slow.

The other thing that is annoying is that the plugin is now writing heaps of log information to stdout, which is causing our console log to increase in size by a new MBs, a snippet of this output is below.

[23:52:19]: 2010-01-23 23:52:19,640[  3424].INFO  nitializer - Started log4net from JetBrains.Container, Version=5.0.6.0, Culture=neutral, PublicKeyToken=49e678c3dd882e99:JetBrains.Container.resources.teamcity-log4net.xml
[23:52:19]: 2010-01-23 23:52:19,656[  3424].INFO  tContainer - Component instance of type JetBrains.Container.Log4netDefaultLoggerInitializer registered
[23:52:19]: 2010-01-23 23:52:19,656[  3424].INFO  tContainer - Component instance of type JetBrains.Container.JetContainer registered
[23:52:19]: 2010-01-23 23:52:19,656[  3424].INFO  tContainer - Components started
[23:52:24]: 2010-01-23 23:52:24,640[  3424].INFO  tContainer - Component JetBrains.TeamCity.NUnitCommon.Arguments.PluginTypeRegistry added
[23:52:24]: 2010-01-23 23:52:24,640[  3424].INFO  tContainer - Component JetBrains.TeamCity.NUnitCommon.PlugableRunFactory added
[23:52:24]: 2010-01-23 23:52:24,781[  1648].INFO  nitializer - Started log4net from JetBrains.Container, Version=5.0.6.0, Culture=neutral, PublicKeyToken=49e678c3dd882e99:JetBrains.Container.resources.teamcity-log4net.xml
[23:52:24]: 2010-01-23 23:52:24,781[  3500].INFO  nitializer - Started log4net from JetBrains.Container, Version=5.0.6.0, Culture=neutral, PublicKeyToken=49e678c3dd882e99:JetBrains.Container.resources.teamcity-log4net.xml
[23:52:24]: 2010-01-23 23:52:24,796[  1648].INFO  tContainer - Component instance of type JetBrains.Container.Log4netDefaultLoggerInitializer registered
[23:52:24]: 2010-01-23 23:52:24,796[  1648].INFO  tContainer - Component instance of type JetBrains.Container.JetContainer registered
[23:52:24]: 2010-01-23 23:52:24,796[  3500].INFO  tContainer - Component instance of type JetBrains.Container.Log4netDefaultLoggerInitializer registered
[23:52:24]: 2010-01-23 23:52:24,796[  1648].INFO  tContainer - Components started
[23:52:24]: 2010-01-23 23:52:24,796[  3500].INFO  tContainer - Component instance of type JetBrains.Container.JetContainer registered
[23:52:24]: 2010-01-23 23:52:24,796[  3500].INFO  tContainer - Components started
[23:52:32]: 2010-01-23 23:52:32,687[  3424].INFO  tContainer - Component JetBrains.TeamCity.NUnitLauncher.AssemblyTestFactory added
[23:52:32]: 2010-01-23 23:52:32,687[  3424].INFO  tContainer - Component JetBrains.TeamCity.NUnitLauncher.DisposeOneAssemblyActionFactory added
[23:52:32]: 2010-01-23 23:52:32,687[  3424].INFO  tContainer - Component JetBrains.TeamCity.NUnitLauncher.LoadAssembliesActionFactory added

5 comments
Comment actions Permalink

I just ran another build without running any .NET unit tests and the build completed in 1h 7m; I'd expect our .NET unit tests to add 10mins. The new 2.5.3 add-in is doing something quite different to the older 2.4.8 one.

I ran another build of a branch which is still using nunit 2.4.8 with the 2.4.8 addin and it does not seem to have this performance issue, while the nunit console process with this addin doesn't have heaps of page faults like the 2.5.3 one.

I can also see that the nunit 2.4.8 addin has been changed to output to stdout like the 2.5.3 does which I showed in the first post.

Would you recommend not using the addin and changing to the XML report processing feature added in 4.5?

I would really appreciate some help in resolving this problem asap.

0
Comment actions Permalink

Pleaes try using .NUnit 2.4.8 if it works faster.
I have created the issue at
http://youtrack.jetbrains.net/issue/TW-10824

Please feel free to vote for it!

0
Comment actions Permalink

I have voted for TW-10824, which is to remove the extra nunit add-in output to stdout.

However, that doesn't solve the performance problem because even the 2.4.8 add-in has this output and it doesn't have the same performance problems.

Our most recent release branch is still using 2.4.8 and the 2.4.8 add-in and doesn't have any performance problems. However, we cannot downgrade from nunit 2.5.3 on our trunk now that the work has been done, so we need to use the new add-in. I have temporarily changed to using the xml report processor which is working until we make a decision, and it does not have any performance issues. As I asked before would you recommend using the xml report processor over the add-in?

Jono

0
Comment actions Permalink

This is possible to use xml report processor for NUnit tests. Xml report processor will publish tests not in on-the-fly way.

0
Comment actions Permalink

Hi Eugene,

The xml report processor picks up the xml files as they are written to disk though, so they are reported to the dashboard as TeamCity runs the build.

The only problem I have is that the tests are no longer grouped into a suite per project. In the tests tab it says "<no suite>" IIRC for the first level.

Thanks, Jono

0

Please sign in to leave a comment.