The views expressed in this blog are those of the individual and do not necessarily represent those of Microsoft. This information is provided by way of general information only and should not be relied on without obtaining independent expert advice. These postings are provided "AS IS" with no warranties and confer no rights. You assume all risk for your use.

RTC over WAN – What is the Required Bandwidth for my Workload

As you probably know we shipped Dynamics NAV 2009 R2 with a few features to support running the RoleTailored Client over WAN. Specifically we added the capability of using Certificates to validate the Server that the client is connecting to and a Login dialog that enables a NAV user to type in credentials that are different from his/hers current windows credentials. How to use and configure this is well documented and available on MSDN at this point. (http://msdn.microsoft.com/en-us/library/gg502476.aspx)

The question that remains is what kind of bandwidth is needed when deploying RTC over WAN. As you probably also know we published some initial findings at the time of release for R2 (http://msdn.microsoft.com/en-us/library/gg502513.aspx). These numbers were pretty generic but still valid. Our tests were done by posting 10 sales orders programmatically. We did this on connections between 300/300 Mbit and 10/1 Mbit. Let me reiterate the most important findings:

Two factors make a difference from a network perspective:

Latency

Bandwidth

With regard to latency the chart above shows that as we added latency between client and server our ability to utilize bandwidth decreased. This makes sense as added latency makes us wait for network I/O rather than server CPU cycles. The elbow seems to be somewhere between 75 and 125 ms latency.

For bandwidth we saw that the upstream bandwidth from the client to the server seemed to have a significant impact on the response time. Specifically we saw that if we throttled the bandwidth below 0,1 Mbit the response time almost doubled.

Now for the interesting part – how can you go about measuring the required bandwidth for your own workload. I will provide one example (which was also shown at Convergence Atlanta 2011 and Directions EMEA 2011).

Now we are ready to run the test. For this example the test is just opening the RoleTailored client. Before you go ahead make sure that nothing else is consuming bandwidth at this point.

Go back into Performance Monitor and start the capture

Open the RoleTailored client and wait for it to fully render

In performance monitor stop the capture

To view the results go back into Performance Monitor:

Create Report in Performance Monitor using captured file

Look at the numbers for Maximum for both Bytes sent and received

To transform these numbers into something useful some basic math will have to be applied.

The numbers in the report are bytes per second. To get to bits per second multiply the number by 8. To get to Kilobits per second divide by 1024 and finally to get to megabits per second divide by 1024 again.

As an example if the captured number was 162.276 as above this would mean:

Bits/sec

KB/sec

MB/sec

Bytes received

162276

1298208

1267,781

1,238068

This exercise can be applied to any operation that you would want to separate out in the RTC. If your remote users would want to post sales orders this is what you should measure. If they will be running specific reports you should go ahead and measure the required bandwidth for a single instance of that report.