Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a problem where I have apps being served to Windows XP PC clients running a Citrix IA client. We are using citrix com port redirection to tunnel serial data from a data capture device on the client PC to the application running on the server.

Based on Wireshark captures, we are seeing rates of around 400 packets per second (for a bandwidth usage of about 28 kilobytes/sec) being sent from each client PC, each with about 10-15 bytes of data and 50-some bytes of TCP/IP overhead, and this is saturating our WAN and causing congestion problems.

I think the problem is that the citrix considers this COM port traffic interactive traffic and tries to send it as soon as possible. As far as the application on the server is concerned this COM port data really isn't interactive traffic and it would not impact the application negatively if the com port data was buffered and then only sent every 100 ms or something like that which would reduce the packet data overhead.

I haven't been able to get much help from Citrix on this issue. Most of the Citrix documentation focuses on optimizing the downstream traffic from server to client, or optimizing responsiveness of the client by optimizing the upstream "interactive" traffice from the client. Unfortunately, in my case, this is flooding my WAN with tiny-grams.

What can I do to try to prevent this congestion from happening? I have seen a few references about doing a virtual channel bandwidth cap for the COM port data but I'm wondering how that works and I can't find any detailed information about it, even from Citrix. Would it just buffer COM port data received on the client side and only send it to the server at a slower rate allowed by the bandwidth cap for the virtual channel?

Any other ideas or suggestions about how to resolve this would be appreciated also.

share|improve this question
up vote 2 down vote accepted

Unfortunately, com-port over Citrix/RDP/etc... all suffer from the same problems. It's up to the application to behave nicely with the com-port. If the application tries to read 1 byte from the comport 10000 times a second... you end up with 10000 requests for 1 byte across the wire... which results in what you're seeing. Short of re-writing your application to be more citrix/RDP friendly... you can only set hard-limits on bandwidth consumption... but this may not work as well as you would hope.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.