Tweaking Netscaler for XenApp/XenDesktop via TCP Profiles

I have recently come across this super blog from Citrix folks on the NetScaler Traffic Management classes. I thought i would rather add this in my blog for easy reference.

NetScaler has a highly scalable TCP stack which is built to take care of varying network conditions and various types of clients/servers. In any communication channel over TCP what makes difference is the client side stack, server side stack, intermediaries and network conditions. Beyond these core aspects the application layer as well impacts with the nature of application, size of request/response and how it makes difference to TCP connection characteristics.

For most cases what we have in default TCP stack holds well but if you know more about your application, client/servers and network conditions then you can use one of the built-in TCP profiles. These TCP profiles have fine-tuned TCP parameters which make significant difference in terms of lower latency, faster response time and better bandwidth utilization in given Application and network environment. NetScaler also allows you to create your own TCP profiles with these core TCP parameters which can optimize the TCP stack for your deployment. The TCP profile can be used globally which has system wide impact and it can also be used per vserver and service to localize the impact. Which means you can have different virtual TCP stacks for multiple vservers and services within same NetScaler, isn’t it really interesting?

The built-in profiles are aimed at common deployment scenarios based on different network and application characteristics. Let us understand the system supplied built-in TCP profiles:

 

  • Nstcp_default_profile
    • Default TCP profile impacting system globally
    • Any changes impacts the global TCP settings
    • Does not need to be bound to explicit vserver/services
    • Gets overridden by the vserver/service level profiles
  • Nstcp_default_tcp_lfp
    • This profile is recommended to be used in networks with
      • High bandwidth
      • Low packet loss
      • High Round-Trip Time (RTT)
    • Suitable for WAN kind of environments
    • Useful when there is dedicated bandwidth
    • Enterprise use cases across WAN
  • Nstcp_default_tcp_lnp
    • This profile is recommended to be used in networks with
      • Low bandwidth
      • High packet loss
      • High Round-Trip Time (RTT)
    • Suitable for WAN kind of environments
    • Useful when there is restricted bandwidth
    • Online use cases across WAN in shared bandwidth
  • Nstcp_default_tcp_lan
    • This profile is suitable for the LAN
    • Mostly to be used with servers in same datacenter
    • Useful when access is limited to same local network
  • Nstcp_default_tcp_lfp_thin_stream
    • Similar to Nstcp_default_tcp_lfp
    • Tuned for Small packets flow
  • Nstcp_default_tcp_lnp_thin_stream
    • Similar to Nstcp_default_tcp_lnp
    • Tuned for Small packets flow
  • Nstcp_default_tcp_lan_thin_stream
    • Similar to Nstcp_default_tcp_lap
    • Tuned for Small packets flow
  • Nstcp_default_tcp_interactive_stream
    • This profile is recommended to be used with
      • Chatty applications like telnet
      • Application virtualization environment
      • Small packet and quick feedback based Apps
    • Should work with different kind of networks
  • Nstcp_internal_apps
    • This profile is recommended only for Internal services
    • Should not be used for any other network service

Full credit to Citrite “Abhilash Verma” for taking time to write this stuff and the original writing could be found here

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.