From: Fredonians on
Hi,

I have a couple of questions concerning performance of RDP over a high
latency link.

First, a little background. Back at the data center we have a VMWare Virtual
Desktop Infrastructure. The client is about 120 - 130ms away (1 way). The
client uses a VMWare plug-in in the IE browser which in turn uses the RDP
protocol code present on the XP Pro client to talk to the VDI over the high
latency link. The users are complaining of slow performance. One of the
specific complaints is scrolling through a PDF document. To test this out we
tried connecting to the VDI from a desktop about 15ms away and scrolled
through a PDF first by hitting the Page Down keyboard key a defined number of
times and then by using the mouse scroll wheel a defined number of times. We
then did the same thing when using a test machine in our lab that inhibited
the packets using a Shunra network simulation device to mimic the latency
experienced by the users. Finally, on to the questions!

1. When looking at packet captures of the different tests one thing jumps
out at me. During the low latency test I see that a group of 5 or 6 dataful
packets will arrive at the client and the client will respond with a single
TCP ACKnowledgement. When the ACK arrives back at the VDI the next group of
packets are sent and this pattern repeats. During the high latency test I see
if 6 packets arrive at the client then the client will respond with 3 ACKs.
If there are 7 packets then the client will respond with 3 immediate ACKs and
then a single ACK a short time later ACKing the 7th packet. Is this
difference a product of TCP noticing the high latency and adjusting its
ACKing structure or is it the interaction between RDP & TCP? Any suggestions
for tuning either protocol in this instance? Please note that selective ACKs
are turned on in both cases.

2. Another thing I notice is that there is a fairly low level of
unacknowledged (or in-flight) data present. This is both on the low & high
latency tests. Basically, a chunk of data is sent out and no more is sent
until the previous chunk is acknowledged. The peak I see is about 7,500
bytes. Again, is this a product of RDP in conjunction with TCP or TCP itself?
I have seen other protocols used in conjunction with TCP have higher levels
of in-flight data.

Any suggestions or information would be much appreciated. Thanks, F
From: Rob Leitman [MSFT] on

"Fredonians" <Fredonians(a)discussions.microsoft.com> wrote in message
news:4AC4186E-4D99-4B69-BB78-0B5C71B8CD31(a)microsoft.com...
> Hi,
>
> I have a couple of questions concerning performance of RDP over a high
> latency link.
>
> First, a little background. Back at the data center we have a VMWare
> Virtual
> Desktop Infrastructure. The client is about 120 - 130ms away (1 way). The
> client uses a VMWare plug-in in the IE browser which in turn uses the RDP
> protocol code present on the XP Pro client to talk to the VDI over the
> high
> latency link. The users are complaining of slow performance. One of the
> specific complaints is scrolling through a PDF document. To test this out
> we
> tried connecting to the VDI from a desktop about 15ms away and scrolled
> through a PDF first by hitting the Page Down keyboard key a defined number
> of
> times and then by using the mouse scroll wheel a defined number of times.
> We
> then did the same thing when using a test machine in our lab that
> inhibited
> the packets using a Shunra network simulation device to mimic the latency
> experienced by the users. Finally, on to the questions!
>
> 1. When looking at packet captures of the different tests one thing jumps
> out at me. During the low latency test I see that a group of 5 or 6
> dataful
> packets will arrive at the client and the client will respond with a
> single
> TCP ACKnowledgement. When the ACK arrives back at the VDI the next group
> of
> packets are sent and this pattern repeats. During the high latency test I
> see
> if 6 packets arrive at the client then the client will respond with 3
> ACKs.
> If there are 7 packets then the client will respond with 3 immediate ACKs
> and
> then a single ACK a short time later ACKing the 7th packet. Is this
> difference a product of TCP noticing the high latency and adjusting its
> ACKing structure or is it the interaction between RDP & TCP? Any
> suggestions
> for tuning either protocol in this instance? Please note that selective
> ACKs
> are turned on in both cases.
>
> 2. Another thing I notice is that there is a fairly low level of
> unacknowledged (or in-flight) data present. This is both on the low & high
> latency tests. Basically, a chunk of data is sent out and no more is sent
> until the previous chunk is acknowledged. The peak I see is about 7,500
> bytes. Again, is this a product of RDP in conjunction with TCP or TCP
> itself?
> I have seen other protocols used in conjunction with TCP have higher
> levels
> of in-flight data.
>
> Any suggestions or information would be much appreciated. Thanks, F

I can't answer regarding the details of TCP, but for high-latency links, I
recommend choosing "Satellite (2 Mbps - 16 Mbps with high latency)" on the
Experience tab of Remote Desktop Connection.

Rob