Welcome Guest! To enable all features please Login or Register.



Console tool with grid, slow nodes
#1 Posted : Wednesday, October 10, 2018 2:32:58 PM(UTC)
Rank: Newbie

Groups: Registered
Joined: 3/5/2015(UTC)
Posts: 2
Location: Canada


I'm doing some tests with the console tool, and it seems cool but there are strange things happening with node initialization and synchronization. I don't get why one node would be running tests while another one hasn't started the build process yet. See the timeline below:

Ncrunch Timeline

I'm using NCrunch 3.20. I don't seem to have any issues with Visual Studio, although it would be cool to have the same timeline view within Visual Studio also.
#2 Posted : Wednesday, October 10, 2018 10:19:22 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 5,640

Thanks: 734 times
Was thanked: 934 time(s) in 890 post(s)
Hi, thanks for posting!

I'm not sure how long a normal test run is for you, but at a glance this report does look normal. I'll try to explain the delays I'm seeing and you may be able to confirm whether my explanation makes sense for your situation.

NCrunch won't connect to the grid nodes until it's finished loading your projects, which accounts for the first darker grey bar. This is because until the projects are loaded, NCrunch as no knowledge of what data to share with the grid node and actually knows very little at all about the overall structure of your solution. On your chart it looks like NCrunch is taking about 9 seconds to initialise. Most of initialisation is spent waiting for data to come back from MSBuild (which is a complex beast).

The second, lighter grey bar accounts for the time each node spends synchronising itself with the client. Synchronisation is a complex process that involves performing a full hash-based comparison of your entire solution with the stored snapshots on the grid node. Even though the grid node very likely has a snapshot that is a near or exact match to your solution, NCrunch still needs to be able to identify any changes made to the solution while it was offline. The performance of this step is highly dependent on your I/O performance on both the client side and the grid node. Network performance will also make a big difference, especially if your solution contains large files that are frequently changed.

It looks as though the MONTOU node has much lower I/O (or overall) performance compared with the other nodes. This could be due to either a difference in hardware, or if the node was recently restarted, it may still be going through its initial bootstrap sequence which can greatly inhibit its performance in the short term.

You likely won't notice this appearing when using NCrunch in Visual Studio, because the connection and synchronisation with the grid nodes only happens when the engine is first turned on. Once you're connected and synchronised, the nodes become very responsive and can stay that way for hours (until the engine is reset or VS is restarted).
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.024 seconds.