+ All Categories
Transcript

The Citrix Administrator’s

Technical Guide to Understanding and

Troubleshooting Citrix ICA/HDX

© 2017 Goliath Technologies. All Rights Reserved

By Marius Sandbu, CTP & Goliath Support Team

"IfyoureallyneedtoreadoneCitrixTroubleshootingdocumentthisyear,thisisit!GoliathTechnologiestakesyouthroughthedifferentaspectsoftheICA/HDXprotocol,whatcanbeutilized,andwhatstepscanbeusedtounderstandissuesyoumaybeexperiencing."

-AlexanderErvikJohnsen,CTP

2

TableofContents

INTRODUCTION....................................................................................................................................3

DEFININGICA/HDX...............................................................................................................................3A. THEHISTORYOFICA.............................................................................................................................3B. HOWICAWORKS.................................................................................................................................4C. HDX...................................................................................................................................................6D. ICAANDNETSCALERGATEWAY..............................................................................................................7

HDXADAPTIVETRANSPORTPROTOCOL...............................................................................................9

FRAMEHAWK.......................................................................................................................................9

HDX/ICAANDITSDEPENDENCIES.........................................................................................................9A. NETWORKING......................................................................................................................................9B. SERVERPERFORMANCE........................................................................................................................12

MEASURINGICAPERFORMANCE........................................................................................................12A. ICALATENCY.....................................................................................................................................13B. ICARTT...........................................................................................................................................13C. FRAMESPERSECOND..........................................................................................................................14

TROUBLESHOOTINGICASESSIONPERFORMANCE..............................................................................14A. OVERVIEW.........................................................................................................................................14B. IMPACTONUSEREXPERIENCE...............................................................................................................16C. TROUBLESHOOTING.............................................................................................................................18

ICACHANNELS....................................................................................................................................21A. TROUBLESHOOTINGWITHICACHANNELS...............................................................................................23B. CORRELATINGICACHANNELUSAGETOICAPERFORMANCEMETRICSFORTROUBLESHOOTING.......................24

SUMMARY.........................................................................................................................................26

3

Introduction

ThegoalofthedocumentthatyouareabouttoreadistoprovideacomprehensiveunderstandingofICA/HDX,thecomponentsthatit’sbuilton,howitworks,howitcanbeimpactedbynetworkconditions,andhowtotroubleshootit.Armedwiththisinformation,wehopethatyouwillbebetterequippedtotroubleshootandresolvewhatwehavecometoknowastheubiquitous“Citrixisslow”complaintfromendusers.

Thisdocumentwasco-authoredbytheCitrixsupportteamfromGoliathTechnologiesandMariusSandbu,CTP.GoliathproductsareusedbysomeofthelargestandmostsophisticatedCitrixdeploymentsworldwide.And,inanenvironmentwheresupportdirectlyfromCitrixisnotalwayshelpfulwhensolvingcomplexenduserexperienceissues,oursupportteamstepsintoassistcustomersdirectly.ThisdocumentisaresultofthedeepexperienceandknowledgegainedthroughthousandsofhoursspentwithourcustomersinthepursuitofsolvingtheirCitrixproblems.

DefiningICA/HDX

A. TheHistoryofICA

BeforewecanstartdiggingdeepintothetechnicalspecificsofICA/HDX,wemustfirstunderstandwhatitis.TheIndependentComputingArchitecture,orICAisaproprietaryprotocoldevelopedbyCitrixover20yearsago.Thepurposeofthetechnologywastoallowforthedeliveryofapplicationsanddesktopcomputingenvironmentsindependentoftheenduser’scomputingplatform.Inotherwords,tocreateaclient/servercomputingexperiencelikehowUnixapplicationsweredeliveredduringthemainframeera.Thegoalwastohaveawaytoconsumecomputingresourcesfromanydeviceorplatformindependentofplatformortransportprotocol.

WhatdoesICAstandfor?

4

Initiallydevelopedin1992,theprotocolwaslicensedwithMicrosoftWindowsNTasWinFrame.Themulti-winengineatitscoreallowedmultipleuserstoleverageapplicationsfromasingleWindowsoperatingsystemsimultaneously.In1997thistechnologywaslicensedtoMicrosoftandbecameknownasRemoteDesktopProtocol(RDP).

FurtherdevelopmentfromCitrixfollowingtheintroductionofWindowsTerminalServicesenhancedthecapabilitiesofICA,separatingitfromthebasiccapabilitiesofferedbyMicrosoftRDP.TheenhancementstoICAallowedCitrixtosupportapplicationpublishing,lowbandwidthrequirements,encryptionandsessionreliabilityamongothers.ThisversionofICAiswhatformsthefoundationoftheprotocolthatXenAppandXenDesktoparedeliveredfromtoday.

B. HowICAWorks

TheICAprotocoloperatesatthepresentationlayer(layer6)oftheOSImodel(wewilldetailtheOSImodellaterinthisdocument).Atthislayer,dataispreparedtobepresentedattheapplicationlayer(layer7).Itfunctionsbydeliveringinputfromtheclienttotheserver,aswellasprovidingoutputsuchasvideoandaudiofromtheserverbacktotheuser.Thispresentationlayertrafficflowsoverport1494(ICA)and2598(sessionreliability)bycreatingdynamicallyallocatedTCPportsforclient/servercommunication.Inside,theprotocolvirtualchannelsareusedforfunctionssuchasprinting,typing,video,audioandUSBamongothers.LaterinthisdocumentwewillprovidemoredetailaroundICAandHDXchannels,howtheywork,andhowtheyimpactoveralluserexperience.Inadditiontoleveragingvirtualchannelsformanagingtraffic,ICAalsomanagesuserexperiencewithSessionReliability.Thiscapabilityallowssessionstoremainactiveonthescreeneveniftheenduser’ssessionconnectivityisinterrupted.Thiscapabilityallowsforresiliencyandconsistencyevenwhenusersareonunreliablenetworkconnectionsormobile.Thespecificsonsessionreliabilityareshowninthegraphbelow.

ICAinRealLife:

5

SessionreliabilityisreliantontheCommonGatewayProtocol,whichisaserversidereplaythatstripsawaytheCGPlayerandthenforwardsICAtraffictotheICAlisteneron1494.TheservicebufferstrafficifthenetworklinkbetweentheclientandtheXAorXDserverisbroken.Whileasessionisbuffering,thescreenfreezesandtheuserispresentedwithaspinninghourglassuntilthesession’sconnectivityreturns.Thisiswherethe“hourglassofdeath”effectcomesfromintheCitrixsessions.Whilesessionreliabilityisinconceptagoodidea,thespinninghourglassisgenerallyperceivedasanissueandoftenresultsinconfusionandfrustrationforusersthatdonothaveanyindicationastowhytheirsessionsuddenlylockedup.

6

Fromabandwidthperspective,theICAprotocolwasdesignedduringatimewhenthemostcommoninternetconnectionwasa56Kmodem.Needlesstosay,theprotocolisoptimizedforWANandhighlatencynetwork/internetconnections.ItalsosupportsQuality-of-Service(QoS)andothernetworkfeaturesforperformanceoptimization.Overtimeasapplicationsanduserexperiencehasbecomemoregraphicallyintensive,newfeatureshavebeenimplementedtohelpwithdeliveringaqualityexperienceoverlessthanreliableconnections.Off-loadingofgraphicsrenderingorvideodisplayhavebeenimplementedtohelpeasethestrainoftheICAsessionandimprovereliability.InthenetworksectionofthisdocumentwewilldiscussindetailhownetworkbandwidthaffectsICA/HDXtrafficandhowitcanbeoptimizedtominimizetheimpact.

C. HDX

HDXhasbecomethemodernacronymgiventothedeliveryprotocolforXenDesktopandXenApp.AlthoughmanyseethisastheevolutionofICA,thatdefinitionisabitofamisnomer.HDXinandofitselfdoesnotreplaceICA.Rather,itisasetofcapabilitiesdesignedtoenhancetheuserexperienceforsessionsdeliveredoverICA.TherearethreekeycapabilitiesthatcomprisetheunderpinningsforHDXperCitrix.Theyareintelligentredirection,adaptivecompressionanddatade-duplication.Eachcapabilityworkstogethertoenhancethequalityofuserexperiencewhilereducingsessionbandwidthdemands.

Intelligentredirectionisanoff-loadingcapabilitythattakesseveralfactorsincludingscreenactivity,applicationcommands,endpointdevice,networkandservercapabilitiesintoconsiderationtodeterminehowandwhentobestoffloadprocessingtotheendpoint.Thissmarterformofredirectionalsoincludesdevicesandperipheralssuchaswebcams,printersandscannersthatalloperateatnativeUSBspeedsusingthiscapability.

AdaptivecompressionisproprietarytoCitrixandICA,anditsetsthecodecsusedduringsessions.ItalsointelligentlyallocatesandmanagesthewaytheCPUandGPUresourcesareleveraged.

De-duplicationisaformamulticastingandcachingthatallowsforthereductionofduplicatenetworkdatafromtraversingthenetwork.Multi-castisprimarilyusedformultimediastreamstoensureasingledeliveryofdatathatmaybeconsumedbymorethanasingleuser.Cashingde-duplicatesdatathatiscommonlyaccessedsuchasdocumentfiles,printjobsandbitmaps.

HDXareenhancedcapabilitiesthatbringamorenativefeelanduserexperiencetoICA.Thesecapabilitieswerepurposebuiltandintroducedtoallowforgraphicandprocesser-intensecomputingtobeperformedfromavirtualcomputingenvironment.WhileHDXtechnologiesaccomplishthatgoal,thefoundationremainsICA.

7

D. ICAandNetScalerGateway

Aspreviouslydiscussed,CitrixICAwaspurposebuiltforlowspeed,highlatencyconnections.Thus,itnaturallymakesforanexcellentremoteaccessprotocol.Theverynatureofhowitworksensuresahigherqualityuserexperiencethanafullorsplit-tunnelVPN.ItisalsofarlessexpensivethanalargescaleoptimizedWANsolution.However,therearesomechallengestodeployinganICAdeliveredapplicationordesktoptousersremotely,nativelyaslistedbelow:

Security:TheStoreFrontorWebInterfaceserversarebothWindowsservers,andexposingthemtotheinternetcouldpresentarisk.StoreFrontmaybesecuredwithanSSL/TLScertificatebutthatisonlyforauthentication,thesessionwouldthenneedtobeencryptedattheXenApp/XenDesktoplevel.

Complexity:EachsessionmustindependentlyconnecttothesessionhostorVDIfollowingthehandofffromtheController/Broker.Thus,therewouldneedtobeatremendousamountofIPaddressesand/orPAT(PortAddressTranslation)rulestoprovideremoteusersaccesstosessions.Thelevelofoverheadislikelynotreasonable.

Itisn’tsupported:CitrixsimplydoesnotsupportexposingXenApp/XenDesktopandtheStoreFront/WebInterfacetothepublicinternet.

TheNetScalerGatewayisleveragedtosolvetheremoteaccessproblem.ThegatewayisasecureFreeBSDappliancethatishardenedanddesignedtobeinternetfacing.AlltheconnectionstotheinternalCitrixInfrastructureareproxiedoveranSSLmicroVPNtunnelviatheGateway.Therefore,onlyasingleSSL/TLSportneedstobeavailablefromthepublicinternettotheCitrixenvironment:

TheNetScalerGatewayacceptsincomingconnectionsoverSSL/TLSandthenpassestrafficbacktointernalservicessecurelyovertheappropriateportinternally.WhiledeployingtheNetScalerGatewaydoesprovideaseamlessmethodforremoteaccess,usercountandSSLoverheadmustbeconsideredwhensizingtheNetScalertoensurethatitwillnotimpactoverallsessionperformancefortheuser.

8

SincetheNetScalerGatewayisthemainentrypointtotheentiredeliveryinfrastructure,thereareseveralarchitecturaldecisionsthatmustbeconsideredastonotimpactperformanceand/oravailability.Thefirstishighavailability(HA).RegardlessofiftheNetScalerdeploymentisphysical(MPX)orvirtual(VPX)itisacriticalcomponentandshouldberedundantlyconfiguredforhardwarefailover.AllsessionactivityviatheGatewaytraversestheNetScalerandshoulditfail,usersessionswillbedisconnected.HAensuresthatifanappliancefailsforanyreason,sessionswillcontinuewithoutinterruption.

Thesecondconsideration,especiallyinlargedistributeddeployments,isGlobalServerLoadBalancing(GSLB).Ifwehaveadeliveryinfrastructurethatspansmultipledatacentersandgeography’s,wewantuserstoaccesstheresourcesthataremostlikelytoperformoptimallyforthem.IfasingleNetScalerorNetScalerHApairisdeployedtoNorthAmericaandusersaretraversingthatNorthAmericanGatewaytoaccessXenAppresourcesinAsia,itisverylikelytherewillbeadditionallatencyandpoorperformance.However,ifthereareNetScalersinbothlocationsandusersaccessthoseresourcesrespectivetotheclosestavailablegeography,thereisamuchhigherlikelihoodthattheywillhaveahigh-qualityuserexperience.GSLBsolvesthatproblembyleveragingDNStodirecttraffictotheappropriatelocationbasedonseveralpossiblevariablessuchaslocation.GSLBenablesavirtualserverontheNetScalerstoactasanauthoritativeDNS(ADNS)resolverforthedomain/hostnameofthedeliveryinfrastructure.EachNetScalerhasthesameDNStablesandeachvServerislistedasaDNSresolverforthedomain.Inotherwords,everyNetScalerinyourdeploymentisanavailablenameserverforresolvingyourNetScalerGatewayHostname.WhentheclientqueriesthatADNSvServer,itreturnsthatIPoftheNetScalergatewaybasedonseveralpolicyrulesconfiguredinGSLB.Theserulescouldbelocationbased,throughputandperformancebased,andavailabilitybased.Regardlessofhowitisconfigured,GSLBensuresthatauserwillaccessthemostavailable,bestperformingGatewaytothedeliveryinfrastructure.ThefollowingimagedetailshowNetScalerGSLBfitsintoaXenApp/XenDesktopEnterpriseArchitecture:

9

HDXAdaptiveTransportProtocol

Anewexperimentalfeature,HDXAdaptiveTransport,includedwithXenDesktop7.12,usesanewprotocolcalledEDT(EnlightenedDataTransport)whichallowsforuseofUDPinsteadofTCPforICAsessions.Thisfeaturealsoallowsforfallbackbetweentransportprotocolswhen,forinstance,UDPisnotavailableoritisblocked,theICAconnectionwillfallbacktoTCP.UsingUDPastransportprotocolallowsforremarkableUIresponsivenessinhighnetworklatencyscenarios,andincreasesthespeedoffiletransfersandprintjobs.ThedownsidewithUDPisthattheprotocol,bydefault,isconnectionlessandthereforemightresultinpacketloss.Citrixhoweverisutilizinganapplication-basedprotocolontopofUDPwhichisUDT(UDP-basedDataTransfer)whichprovidesreliabletrafficoverUDP.Inordertofullyutilizethisfeature,youshoulddeployXenDesktop7.13andNetScaler11.1build53.

Framehawk

Framehawkisanotherremotedisplayprotocolformobileworkersonbroadbandwirelessconnections.Unlikeotherdisplayprotocols,Framehawkactslikeacopyofthehumaneye,lookingatwhat'sintheframebufferanddiscerningthedifferenttypesofcontentonthescreen.Framehawk’sbuilt-inlogiccanreactmorequickly,providingasuperiorexperienceoverhighlatencyconnections.FramehawkusesUDPasitstransportprotocollikeEDTbutdoesnothavethesamereliabilityengineontop.Foroptimalperformance,theinitialrecommendationisabaseof4or5Mbpsplus150Kbpsperconcurrentuser.

HDX/ICAanditsDependencies

OneofthechallengeswithCitrix,whetherwithimplementationortroubleshooting,hasbeenitsdependenciesonotherpartsofthearchitecture.Infact,theconditionof‘ICAlatency’alludestothestrongrelationshipbetweennetworkingandICAperformance,butisalsocalculatedwithconsiderationtotheresourceavailabilityoftheCitrixSessionhost.BeforewedelveintohowtotroubleshootICAlatency,wemustfirstunderstanditsperformancedependencytothenetworkandsessionhost.

A. Networking

BecauseHDX/ICAisaremotingprotocolandcommonlyusedtodeliverusersacrossgeographicdistancesandvariousconnectionmediumsaccesstoresources,anenormousamountofresponsibilityforagoodenduserexperienceisdependentonthenetworklayer.TherearefourprimarycharacteristicsthataffectICA/HDXbehaviortodeliveragoodenduserexperience:Outputsessionlinespeed,availablebandwidth,networklatency,andpacketloss/TCPretransmits.Whilemanyarefamiliarwiththeseconceptsindividually,let’sexploretheirrelationshipspecificallytoICA/HDXprotocolandenduserexperience.

10

OutputSessionLineSpeed:

OutputSessionLineSpeedorCitrixReceiverConnectionSpeedisspecificallydefinedastheamountofconnectionspeedavailabletoReceiverasasubsetoftheoverallconnectionspeedfortheendpoint.TheavailableconnectionspeedtoCitrixmustbecarefullydistinguishedbetweentheendpoint’slinkspeed,connectionspeed,andwhatisultimatelymadeavailabletoCitrixReceiver.Ifauserisonathinclient,forthemostparttheavailablelinkspeedandconnectionspeedisbeingmadeavailableinitsentiretytoCitrix.Ifauserisonalaptoporworkstation,theremaybeotheractivitiesattheOSlayerbetweenotherapplications,OSupdates,downloads,andactivitiesthatCitrixmustcontendwithtosecureconnectionspeedfortheuser’sCitrixSession.Furthermore,ifauser’sendpointhas1GBitnetworkcardinit,thecardspeedmaybe1gigabit,butthepossiblethroughputforaconnectionwillbelimitedbynetworklatency,andmaybeafractionofthatspeed.Thisisespeciallytrueinthecaseofwirelessconnections,andineithercircumstancetheCitrixReceiverconnectionspeedwillbeafractionofthisspeed.

BandwidthConsumption:

ICA/HDXishighlyefficientwithbandwidthconsumption,usingclientsidecachingandintelligencetoonlysendchangingpixelstodeliverahigh-fidelityexperience,evenoverslowandhighlylatentconnections.Userbehavior,however,maysupersedetheprotocol’sefficiencywhenmultimediaissentthroughthechannel,orauserprint’salargefilecausingcontentionwiththedisplaychannels.Thus,whentroubleshooting,thecompositionofthebandwidthbybreakingdowntheICAChannels,providesgoodperspectivetounderstandwhenbandwidthcontentionisduetouserbehavior,trafficrequirements,oravailableoutputsessionlinespeed.

NetworkLatency:

Networklatency,asmostengineersknow,isameasureoftimedelayfromonenetworkedpointtoanother.InthecontextofICA/HDX,thismustbemeasuredthroughthechannelitselfandnotthroughstandardnetworktools.BecausetheICA/HDXprotocolestablishesamicroVPNtunneltothesessionhost,behavior‘inside’theprotocolwillbedifferentthanifitismeasuredwithoutthisconsideration.NetworkteamswilluseWANoptimizationandQoStooptimizeICApackets,orattheendpointside,itmaybedeprioritizedoverVoIPtraffic.So,todeterminethetruenetworklatencyoftheICA/HDXpackets,itmustbemeasuredthroughtheprotocol’sconnection.

11

ItisworthnotingthatthereareadjustmentsthatcanbemadeontheNetScalertoimprovetheICAconnection.ThedefaultTCPsettingsontheNetScalerisconfiguredtobecompatiblewithmostnetworkconfigurations,butcaninmostcasessafelybechanged.

Forinstance,justswitchingcongestionalgorithmcanhaveapositiveeffectonconnectionswheretheendpointsarelocatedonWiFior4Gconnection.AlsothedefaultTCPprofiledoesnotallowforWindowscalingwhichisanoptiontoincreasethereceiverwindowsizeallowedinTCPaboveitsformermaximumvalueof65,535bytes.

Thebest-praticeshereistodefinethenstcp_XA_XD_profiletotheNetScalerGatewayvirtualserver,whichenableswindowscaling,changescongestionalgorithm,andenablesnaglealgorithm.Overallitwillincreasethetroughputandisbetteradjustedtohandlecongestionandpacketloss.

PacketLoss/TCPRetransmits:

Obviously,packetlossisnotgood;whenpacketsgetdroppedandmustberetransmitted,transmissionsaredelayed,maycausedisconnects,andattheveryleast,especiallywitharemotingprotocol,itwillcauseslownessandblurriness.

Theprotocolperformsbestwhenthereisconsistencyinconnectionspeed,bandwidthavailability,packetloss,andnetworklatency,andconsistentvariationinanyofthesewillresultinapoorenduserexperience.Thisisnottosaythattheprotocollacksanytoleranceforpoorconnectionspeed,lowbandwidthorhighnetworklatency.Aspreviouslymentioned,theprotocolwasbuilttohandlelowspeedconnections,sohowcanbothbetrue?Thedistinction,isthevariabilityofperformanceandtheconsistency.IfthereisaspikeinNetworkLatency,evento2000ms,ausermaynotevennoticeifitisbriefenough,astheprotocolwillcachethepresentationandkeystrokestopreservetheexperience.However,ifthenetworklatencyanddropinconnectionspeedislongenough,theprotocolwillnotbeabletomaskthechange.Thepresentationwilldroptoalowerframeratecausingblurriness,butallowingCitrixtorefreshfastenoughtomaintaintheconnection.

12

B. ServerPerformanceTheserver’sperformanceimpactstheICA/HDXattwopointsinthepacket’sjourney:theprocessingthroughtheTCPstack,andthepresentationlayerexecutingtherequestedactionandreturningtheresponsedata.Infact,aportionofwhatcomposes‘ICALatency’istheserver’savailabilitytoprocesstherequestsbytheICAprotocol.IfaserverhasitsCPUandMemoryresourcesfullydisposed,theoperatingsystemwillnothaveenoughheadspacetoprocesstheICArequestsfastenough,andthisinturnwillimpacttheuserexperience.Consequently,theretrackingCPUUsage,CPUQueuelength,andtheCPUReadystateatthehostandVMlevelwillhelpidentifyifserverresourcesaregoingtoimpactICAPerformance.ThefollowingisabreakdownofhoweachimpactICAperformance:CPUUsage:Tasksattheuserandkernellevel,orintermsoftheOSIModel,thePresentationandSessionlevelareperformedbytheCPU.IftheOShasCPUresourcescommittedtosupportingotherprocesses,therewillnotbeenoughresourcesavailabletohandletheICApackets.

MemoryUsage:Memoryusagepredominantlysupportstheapplicationanduserenvironment,andwhilememorycontentionwouldnotdirectlyaffectICAhandlingperformance,itwillaffecttheuserexperiencewithpresentingthedeliveredapplicationanddesktop.

CPUQueueLength:AnydelayinCPUprocessingwillresultinICApacketprocessingdelays.CPUQueuelengthisaproactiveindicatorofanimpendingissuewithCPUload.

HostCPUReady:Inavirtualizedenvironment,auser’ssessionhostmayhavelowCPUusage,withuser’sexperiencinghighlatencyandslowness.IfCPUresourceavailabilityistoblamedespitethelowusage,thecontentionmayactuallybeoccurringatthehostlevelandcausedbyanotherVM.ThequickestwaytodeterminethatistolookatthehostCPUReadyandCPUUsage.Thereadystateisthepercentageoftimethreadsspendwaitingtoexecute;likeCPUQueuelength.CPUReadyover7-8%willbegintoaffectuserexperience.

VMCPUReady:SimilartohostCPUReady,attheVMlevel,theCPUReadystatecanincreaseindependentoftheCPUusagedependingonVMlevelapplicationresourceconsumptionversusahostimpactedbyanotherVM’sCPUrequests.

MeasuringICAPerformance

ICAPerformanceandtheuser’sexperienceisbestmeasuredinthreekeyvalues:ICALatency,ICARoundTripTimes(ICARTT),andFramespersecond.ThemetricsarecalculatedandcomposedbytheICAprotocolbasedonnetworklatencyandserverperformance.Let’sexplorehowtheywork.

13

Problem

Baseline

A. ICALatencyICAlatencyisthetimefromwhenauserexecutesakeystrokeormouseclicktowhenitisprocessedonthesessionhost.Itisinclusiveofthenetworklatencyandanydelayonthesessionhosttoprocessthisrequest.AhighICALatencyshouldbecomparedfirsttothenetworklatencytodeterminewhatiscausingthedelay.IfNetworklatencyisresponsibleforthespike,thennetworkingistheculprit,ifnot,Serverperformanceandresourceavailabilityisthecauseofthedelay.

Youmayobservethatnetworklatencyishigher,especiallyinthecircumstanceofnetworklatencyspikes,thantheICALatency.ThisisgenerallyindicativeoftheICAprotocoldoingitsjobtohandlethistypeofnetworkbehaviorandnormalizetheexperiencefortheenduser.Anexampleofthisisdepictedintheimagebelow.

UserswillnoticeslownesswhenthereisasustainedICALatencyover250ms,andtheexperiencewillbesignificantlyimpactedwhenover400msforgreaterthan2-5minutes.UsersthatareaccessingCitrixdeliveredresourcesfromcertainregionsoftheworld,especiallyinAsia,toEuropeorNorthAmericawilloftenexperienceICALatencyofatleast180-220msduetoroutingandnetworklatency.

B. ICARTT

ICARTTisthedetectedtimefromwhentheuserhitsakeyuntiltheresponseisdisplayedbackattheendpoint,ascalculatedbythesessionexperiencemonitoringservice.TheICARTTshouldbeobservedinconjunctionwiththeNetworkLatencyandICALatency.ThedifferencebetweentheICALatencyandRTTistheapplicationprocessingtimeonthesessionhost.IftheICAlatencyisthecauseofthehighRTT,itshouldbefurtheranalyzedusingNetworklatencytodeterminecauseaspreviouslymentioned.Ifnot,thenthecauseistheapplicationlayerandrequirestroubleshootingoftheapplicationandOSperformance.ThefollowingimagedepictsdisproportionateICARTTvsICAandnetworklatency.

14

Baseline Problem Baseline

ForthoseinterestedinadeeperunderstandingofhowICARTTiscalculated,itiswhollydifferentfromnetworkRTT.InthecaseofICARTT,theclientsendsspecialvirtualkeystrokeswhenotheractivityisdetectedovertheICAchannel.Thepacketisreceivedbytheserver,processedwithintheuser’ssessionprocessessubsystemsandaresponseissentbacktotheclient.ThesepacketsinbothdirectionsareencodedwithsequencenumbersandtheclientcalculatestheRTTbasedonthetimedifferencebetweenstartingtheICARTTcheckandreceivingtheresponse.

C. FramesPerSecond

Framespersecondisachallengingmetricbecauseitcanbecalculatedatseveraldifferentpoints.Pureachievableframespersecondiscalculatedatthehardwarelevel,theGPUinthecaseofcustomerswithNVIDIAvGPU,AMD,orIntelIRIStechnologies,howeverthisishardlyusefulastheuserwouldneverexperiencethisatanypointintime.Furthermore,FPScanbecalculatedattheapplicationlevel,andwhileaninterestingmetricsasittellsustheperformanceandprocessingleveloftheapplication,itdoesnottellus,againwhattheuserisexperiencing.Justlikewithphysicaldesktopsandworkstations,theFPSthatisultimatelyusedasabaselineormonitoredmetricisatthepresentationtotheenduser.

InavirtualdesktoporapplicationdeliveryenvironmentlikewithCitrix,thismetricisbestachievedbybeingmeasuredattheICAprotocollevel.WhencorrelatedwithICARTT,NetworkLatency,andConnectionspeedthismetricprovideskeyperspectivetoanyblurrinessorpixilation.

ItshouldbenotedthatFPSisbydefaultsetat30ontheprotocollevel.RegardlessofhowmanyFPSanapplicationcanachive,itwillneverbemorethe30FPSattheprotocollevel.ThiscanhoweverbeadjustedusingCitrixpolicies.

TroubleshootingICASessionPerformance

A. Overview

Beforewedelveintohowthemetricsrelatetouserexperienceandbehavior,weshouldunderstandtheroletheyplayinauser’sconnection.ThediagrambelowshowshoweachmetricanditsperformancerelatestoeachstageoftheICApacket’sjourney.

1. Userexecutesanactionontheendpoint

15

2. Networklatencybetweentheendpointandsessionhostdefinesthelaginthatstageofthetrip3. NetworklatencyiscombinedwithCPUprocessingoftheTCPheaderattheSessionhostandis

measuredasICALatency.Anyserver-sideprocessingcausingdelaysiscalculatedasthedifferencebetweennetworklatencyandICALatency

4. OSandApplicationresponsetotheremoteactionisprocessedandthepacketissentbackdowntotheendpoint

5. Networklagisthemeasurablemetricforthereturnjourneydowntotheendpoint.6. ICARTTisthemeasuredmetricfornetworklatencyfromtheendpointtotheserver+TCP&

OS/Applicationprocessing+networklatencyreturningtotheendpoint

Here’showICALatencyandICARTTisbrokendownintoeachofitsmeasurableparts.Thisbreakdownallowsustodeterminetheresponsibilityofslownessissuesandbehaviorbetweenthesessionhostandthenetwork:

ICALatency:NetworkLatencyshouldbesubtractedfromtheICALatencytodeterminehowmuchdelayiscomingfromtheserver.ItshouldbenotedthatNetworkLatencymaybehigherthanICALatency,asitwillsmoothoutlatencyspikestoimproveexperiencefortheenduser.ThedeltabetweenNetworkLatencyandICALatencycanbeattributedtoServerperformanceandCPUUsageshouldbechecked.

ICARTT:ICALatencyshouldbesubtractedfromtheICARTTtodeterminehowmuchofthedelayiscomingfromtheapplicationlayer.ThedeltabetweenICALatencyandICARTTcanbeattributedtoServerandapplicationperformance.CPU,Memory,CPUReady,andApplicationprocessperformanceshouldbemonitoredtodeterminerootcause.

16

B. ImpactonUserExperienceImpactofICALatency,ICARTT,NetworkLatency,andConnectionSpeedonUserExperienceEndUserexperienceissuesgenerallyfallintothecategoryofblurryscreensorpixilation,sessionslowness,experienceofuserswithhighlylatentorpoorconnectionspeeds,andgeneraluseractivity.

Blurriness/Pixilation:

Blurrinessandpixilationisgenerallytheresultofchanginglinespeed,networklatency,orFPSmaxingout.Citrixincludesclientsidekeyboardandscreencachingtoovercometheimpactoflinespeedchangesandspikingnetworklatency,butwhenlinespeedfallstolessthan500kb/secandnetworklatencyisabove400-500mslagmayoccurandresolutionwilldrop.

LowConnectionSpeed&HighLatencyConnections:

Companieswithendusersworkingremotely,traveling,orinSouthEastAsiacommonlyhaveuserswith180-220msoflatency.WhileCitrixcanenableagoodenduserexperienceoversuchhighpersistentlatency,thereisnotalotoftoleranceontheprotocoltoovercomespikesinlatencyandsessionhostresourcecontention.

SessionSlowness:

Sessionslownesscancertainlymanifestasblurrinessandconnectionrelatedissuesasstatedearlier,buttheyoftenmayfindarootcauseintheuser’sbehaviorandtheabilityofthesessionhosttoprovideenoughCPU,Memory,andstorageresourcestosupportit.Screenlagorgettingstuck,nottobeconfusedwithpixilation,canalsofinditsrootcauseinresourcecontentioninadditiontonetworklatencyandconnectionspeed.

Inactivity:

Whenauserisnotattheirdesk,perhapsatlunch,orinameeting,theICAChannelwillstopsendingscreenupdatesorpassingdata,infactCitrixwillsimplyrecordthelastdatapointprocessedforICALatency,ICARTT,andNetworkLatencyuntilthesessioniseitherreestablishedorloggedoff.WhenCitrixsessionsareminimizedorevenloggedoffattheendofasession,therecanbeahighsustainedspike.Thisbehavioriseasilyrecognizedwhentrendedasthethreemetricsarepresentedasaflatline.Whentroubleshootingperformanceproblems,datapointsinthesetimeframesshouldbeexcludedfromconsideration.

17

Inactivity

Whentroubleshootingtheseusecases,itisoftenrequiredtonotjustprovethatoneofthoseconditionsisoccurring,butalsothattheotherconditionsareNOToccurring.Inscenariosinvolvingslownesstherearegenerallythreeconditionsthatcanbetherootcauseandneedtobedetermined:

1. Istheslownessduetoaspikeinnetworklatencyorgeneralnetworkingissues?2. Isthenetworkfineandtheslownessisduetoaresourceissue?3. Istheslownessduetouseractivitythattheenvironmentwasnotdesignedtosupport?

Todeterminewhatishappening,thefollowingmetricsneedtobetracked:

OutboundLineSpeed:

Beyondthelatencyissues,didtheuser’sconnectionspeeddrop,limitingtheavailablebandwidthtosupporttheuser’sconnection.

ICALatency&ICARTT:

DeterminethesessionandICAconnection’sabilitytosupporttheuseractivities.ThisperformanceshouldbefurtherbrokendownbetweentheendpointtotheNetScalerversustheNetScalertothesessionhosttofocusthetroubleshootingprocess.

18

NetworkLatency:

Determineifthereisnetworklatencyaboveandbeyondtheexpectedbehavior.

TCPRetransmits:

Packetlossisaprimaryindicatortoissueswithuser’sconnection,especiallywhenthisdataisbrokendownclientsideversusserversidetodetermineiftheproblemexistsinthelastmile.

FPS:

Determineifuseractivityiscontributingtoabottleneckinpresentation.

ICAChannel:

Gaincontexttouserbehaviorandwhichchannelsarerequiredtosupporttheiractivity.

ApplicationProcessPerformance:

DeterminewhichapplicationsandtheirusagearecontributingtostressontheserverandtheICAProtocol.

VirtualHostandVM,CPUandCPUReady:

Determineifresourceconsumptionandloadisimpactingtheuser.

StorageLatency:

Determineifstorageperformanceisimpactinguserexperience.

C. Troubleshooting

Totroubleshoot,theprocessistotesteachoneofthepotentialrootcausesfromthemostbasictothemorecomplex.Hereistheprocessthatshouldbefollowed:

Identifytheusersandthesessionswhereslownessoccurred,andifpossiblethetimeframeswhenitoccurred.BeginwithPhase1.

Phase1:Determinetheculpabilityofthenetworkintheuserexperience

1. Reviewthenetworklatencyintheirsessions;ifthereissustainedorpersistentlatencyabove220ms,andthisisabnormalthentheproblemiswiththenetwork.IfICARTTandICALatencyisbeingdrivenentirelybynetworklatency,thisisyourrootcause.

19

2. CheckforPacketLossanddetermineiftheretransmitsarecomingfromthesessionhost,whichwouldbeduetopacketlossattheclient.Thiswouldfurtherpointtothenetworking,andspecifically,clientsideissuesasbeingtherootcause

3. Checktheconnectionspeedandensurethatpoliciesforlinespeedmatchavailability,andthatavailablelinespeedissufficientforthebandwidthrequirementsbasedontheICAChannel.IfOutboundlinespeedislessthan800kbit/secthisislikelytherootcause.

Phase2:Determineifresourcecontentionisrootcause

Oncenetworklatencyandconnectionspeedhasbeenvalidated,weneedtomoveuptheOSImodelandreviewSessionPerformance.

4. StartbyreviewingtheICALatencyvalues.IftheICALatencyvaluesareabove250ms,anditisnotbeingdrivenbynetworklatency,thentheserverisstrugglingtokeepupwithhandlingtheICAconnections.ThisisgenerallyexpectedonAppservershostingmultipleusersessions,andmaybeindicativeofthefactthattheserverisstrugglingtosupporttheconcurrentusersessionsineitherprocessingtheTCPactivityorapplicationlevelactivity.Iftheissueiswiththeapplicationactivity,thereshouldbecorrespondinghighICARTT,ifnotreducethenumberofusersperAppserver.

5. ReviewtheICARTT.ICARTTisgoingtoincludetheapplication’stimetorespondtotherequestedactionandincludeanylagattheapplicationlayer.WhenthereishighICARTT,butlowICALatency,NetworkLatency,andenoughoutboundlinespeed,then,generallyspeaking,thearchitecturetodeliverCitrixhasthenecessaryresourcestodeliveragoodexperience.However,theresourcestodelivertheapplicationneedtobereviewedandresourcecontentionisaproblem.

Atthispoint,intheprocessofdeterminingtherootcauseofresourcecontention,userbehaviorwillbeanalyzedatthesametimeandadeterminationofwhichisthecause,willbeachieved.

6. ChecktheICAChannelbehavioroverthecourseofthesession.ThegoalofreviewingtheChannelusageisdeterminingwhattypeoftrafficandhowmuchispassingthroughthechannel.Specifically,checktoseehowmuchbandwidthisbeingused,astrafficover500kb/secwilllikelycorrelatewithmoreresourceload.Furthermore,checktoseewhennon-Thinwire(displaytraffic)basedtrafficistakingplaceandifbandwidthusageiscontendingwithconnection/outboundlinespeed.

20

7. ChecktheFramespersecond.IncreasedThinwirebandwidthwillgenerallyresultinincreasedFPS,butifitdoesn’tthiswouldresultintheexperiencebeingconstricted.LowFPSandlowconnectionspeedswouldbeindicativeofblurrinessandpixilation.

8. ChecktheApplicationPerformance.Thinwirebandwidthover500kb/secgenerallyresultsinhigherresourceutilization,ifresourceconsumptiondrivenbygraphicsprocessing.IfThinwireisnormal,butICARTTtimearehigh,resourcecontentionmayberesultingfrombackgroundprocessresourceconsumption.ProcessCPU,Memory,andI/Oshouldbereviewedtodeterminewhatisconsumingtheresources.

Atthispointoneofthreedeterminationscanbemade:

- IfHighICARTTcorrelatedtohighThinwirebandwidth,thengraphicsprocessingwascausingthedelay,andtheprocesslistwilladviseastowhichapplicationwasdrivingtheusage.Often,theseprocesseswillbeusinguptoormorethanafullcoreofCPUusage.

- IfHighICARTT,butnormalThinwirebandwidthusage,theneitherbackgroundprocesses,oranotherVMonthesamehostisusinghighCPUorCPUreadyresources

- BasedontheICAChannelusageandtheapplicationdrivingtheusage,theculpabilityofwhattheuserisdoingcanbeassessedtodetermineifnormalorabnormalbusinessoperationsarecontributingtoperformanceproblems.

Tofinishoffthetroubleshootingprocess,serverandhostresourceutilizationneedstobereviewed:

9. ReviewVMlevelCPUandCPUreadyusagefortheVMtheuserison.Ifitishigh,thentheuserandanyotheruserswithsimilarlyhighusageareresponsiblefortheperformanceissues.Iftheprocesslevelusagewaslow,and/ortheVM’sCPUandCPUreadyusageislow,thentheproblemismostlikelycomingfromanotherVMonthesamehost.

21

10. ReviewtheHosttheVMisonforCPUandCPUReadyUsage.ReviewperformanceofotherVMsonthesamehosttodeterminecauseofresourcecontention.

11. StorageLatencyshouldbecheckedtoensureitsnotcontributingtoperformancedelays.TherehavebeencustomerswhereICAPerformanceandHostresourceshavebeennormal,butusersexperiencepoorperformance.Inthesecircumstances,oftenthedelayhasbeenidentifiedcomingfromStorageLatencywithpersistentspikesupto7000ms.Sustainedstoragelatencyabove150msshouldbereviewed.

ICAChannelsTodeliverthesessiontotheendpointandtoretrieveinputfromtheuser,Citrixbreakseachdatatypethatneedstoberemotedintoaseparate,definedchannel.Graphics,audio,disks,ports(com,USB,LPT),printing,smartcards,andeven3rdpartycustomchannelsarebrokendownseparatelyintotheremotingprotocol.Eachvirtualchannelconsistsofaclient-sidevirtualdriver,aspartofCitrixReceiver,thatcommunicateswithaserver-sideapplication,aspartoftheVDA.Ontheclient-sideeachvirtualchannelcorrespondstoadriverandDLL,whichareprovided,oftensimultaneouslybytheWinStationprotocollayer.Becausemultiplechannelsoperatesimultaneously,Citrixallowsadministratorstodefinepoliciesonchannelbandwidthusageandprioritytoensureusershaveagoodexperience.

22

Fromamonitoringandtroubleshootingperspective,theICAChannelsprovideagreatmechanismtodeterminewhattheusersaredoing,andspecificallyhowtheiractivityisimpactingtheICAtraffic.Ifthegreatestimpactontheuser’sexperienceisthedeliveryoftheICAprotocol,thenthetypeoftrafficthatprotocolmustcarryprovidesagreatmeansofunderstandingiftheuser’sbehavior–printing,USBredirection,graphicprocessing,audio,etc.–isimpactingICAPerformance.

Thereareover50ICAChannelsincludingcustomchannels,butthemostcommononesthatimpactuserexperienceandareinvolvedwithtroubleshootingarethefollowing:

Channel Purpose BehaviorThinwire/Thinwire+ Displayprotocol.Anychangesin

pixelpresentation,orscreenredrawing,ispresentedthroughthischannel.

Channelusagebelow200k/secisgenerallyworkprocessingandtext.400-800k/secisgenerallywebpageorsimilartypeoftraffic800-1200k/secisgraphicrichcontent,andlowqualityvideo.1200k/sec+ishighfidelityvideotraffic.

Audio Soundandaudiodelivery.Inboundthroughmicrophoneordeliveryoverspeakers.

Streamingaudioisgenerallyinthe50-60k/secrange,whichiscertainlyanimpactwhenconsideredacrossmultiplesessions,ratherthanasinglesession,unlesstheuserhasaveryslowoutboundlinespeed.

Printing Printjobprocessing.Printjobsaregenerallysentinraw,whichcanincreasethesizeofthejobbeingsenttothelocalprinter.

PrintjobsthatbeginasPDFscanexplodeto8xthesizewhensentovertheprotocol.Thischannelisonlyengagedwhentheusersendsaprintjobtoalocallymappedprinter.

USBRedirection RedirectionoflocalUSBdrives. Aheartbeattoensuretheconnectiontothedrivewillalwaysoccur,butuseminimalbandwidth.Ifauserisreadingandopeninglargefilesintoapplicationsinthesessionhost,thiscanconsumealargeamountofbandwidth.

Drive Redirectionoflocaldrives. Aheartbeattoensuretheconnectiontothedrivewillalwaysoccur,butuseminimalbandwidth.Ifauserisreadingandopeninglargefilesintoapplicationsinthesessionhost,thiscanconsumealargeamountofbandwidth.

23

Clipboard RedirectionofthelocalClipboardforcopy/pastefunctionality.

Theclipboardcancontainlargeamountsofdata,whichoftenconsumemorebandwidthdependingonuseractivity,thanprinting.

A. TroubleshootingwithICAChannelsWhilethechannelbreakdownbyitselfisnotindicativeofaproblem,itdoesprovideimportantcontextwhenusedinconjunctionwithICALatency,RTT,Outboundlinespeed,andserverperformancetounderstandtheroleofuserbehaviorwiththeirexperience.Often,administratorsarelefttowonderwhatusersaredoingintheirsession,andifajumpinbandwidthorICALatencyisduetoprinting.ByreviewingtheICAChannel,theactualactivitypassingoverthewireknown,andthuswhattheuser’sapplicationsarerequiringtheprotocoltodeliver.Let’slookatsomescenarios:

Thinwirebandwidthusage:

- Below200k/secisgenerallyworkprocessingandtext.- 400-800k/secisgenerallywebpageorsimilartypeoftraffic- 800-1200k/secisgraphicrichcontent,andlowqualityvideo.- 1200k/sec+ishighfidelityvideotraffic

WhenlookingattheThinwireutilization,wearelookingtodetermineifthereissustainedhighbandwidthusage,especiallyover1000kb/sec.Thisisgenerallyindicativeofvideotraffic,andtrafficover1500-2000kb/secisusuallyHDvideo.TheapplicationresponsibleforthehighbandwidthusagewillgenerallyhaveCPUusageover30%sustained,andgoesupdependingontheviewableareathevideoisbeingpresentedin.ICAwillonlyprocessthechangingpixels,usually,intheportionofthescreenaffected,andsofullscreenvideoorlargeimagesbeingviewedwillresultinlargeamountsofdataandhighCPUusage.

AudioBandwidth:

Whilestreamingaudiowillgenerallynotbethecauseofanindividual’ssessiontoperformpoorlyduetoitsrelativelylowbitrateat48-64kb/sec,itisgenerallyagoodindicatortothetypeofactivityonauser’ssession:

- IftheaudiochannelisengagedinconjunctionwithhighThinwireusage,thengenerallyspeaking,videoisbeingplayed.

- Audio,liketheotherchannelsarepresentedbothinboundandoutbound,andassuchinboundtrafficisusuallyindicativeofdictationactivities,whicharesensitivetodipsinbandwidthandotheractivitiesoccurringatthesametime.

Pleasenote,whenutilizingNetScalerGatewayalltrafficwillbeforcedtotransportusingTCP,whichhasabadeffectonaudiobaseduponthenatureofTCPwhichisareliableprotocol.However,thiscanbeadjustedsoaudioinaremotesessionisbeingsentasUDPtraffic.SomeadditionalconfigurationisrequiredtoimplementaudiooverUDP.

24

PrintingBandwidth:

Thisisoftenexpectedtobetheculpritforpoorperformance,andonslowerconnections,itstillcanbeaprimarycauseofslowness,predominantlybecauseprintfilesaregenerallysentinRAWwhichcanballoonthesizeofdatabeingsent.An8mbPDFcanbecomean80mbfileormore.Printingjobsaregenerallysentinfrequentlyandassucharenotaproblem,exceptforamomentintime,andnetworkprinterstakethestressofprintingofftheremotingprotocolaltogetherasitdoesnotneedtobesentbackdowntotheclient.

Clipboard:

Usersthatperformheavycopy/pastefunctionality,specificallywhencopiedbetweenICAsessions,willseehighclipboardusagebeingconsumed,andneedstobemonitored.

DriveMapping&USBRedirection:

Whilebandwidthusage,perse,maynotbeaproblem,usageofthechannelisindicativeofausernotfollowingbestpracticesforagoodexperienceinsideofasession.Problemsareprevalentintermsofportmappingduringreconnects,especiallyiffilesontheredirecteddriveordevicearestillopeninapplications,whichcancausecrashesorerrors.

B. CorrelatingICAChannelUsagetoICAPerformanceMetricsforTroubleshooting

CorrelatingICAChannelUsagetoICALatency,ICARTT,FPS,andConnectionSpeedtoTroubleshootandDetermineUserBehavior

TheintelligencethatCitrixhasaddedtotheprotocol,haslogicallybecomesensitivetouserinputandbehavior,bothintermsofuseractionandinaction.ThisactivityisbrokendownintotheICAChannelwhichallowsustounderstandwhatactivityistheuserengagingthatneedstobebrokendownandpassedtotheenduserattheirendpoint.Further,thisdatacanbeinstrumentalintroubleshootingasitaddscontexttowhatuseractivityistryingtobesupportedbytheprotocolandhowitisreacting.

Printing,Clipboard,DriveRedirection:

CommonlyAdministratorsmayseeaspikeinbandwidthusageandwonderifitcanbesimplydismissedastheuserprintingalargedocument.Bybreakingdownthechannelutilizationandcorrelatingittotheoveralloutboundbandwidth,wecandeterminewhatchannelsarebeingusedatanypointintimeandfurtherwhichchannelhaspriority.Printingisspecificallycalledoutasseparatechannel,andisseldomthecauseofaspikeorsustainedusage,butifitis,thechannelbreakdownwillquicklyidentifythiscondition.Fromatroubleshootingperspective,thisisusefultoaddcontextofauser’sactivityoverthecourseoftheirsession,andwherelargefilesmayberedirectedforremoteusers,theimpactonICARTT.

Audio:

Streamingaudiowillgenerallyuse48-64kb/secofaudio,includingwhendeliveredaspartofvideo.Whilethisusagegenerallydoesn’tresultinsaturatingbandwidth,itisindicativeoftheuser’sbehavior,

25

andwhencombinedwithotherchannelutilizationcanresultinapoorenduserexperience.Inhealthcare,customersusingdictationsoftwarewillneedtoensureinboundconnectionspeedissufficienttosupportrecordingbandwidthrequirements.

So,whendeterminingifthereisacorrelationbetweenthistypeofcontentbeingaccessedbytheenduserandpoorenduserexperienceweuseICAChannelBandwidth,3rdpartyvendorchannels,Outbound&InboundLineSpeed,andNetworkLatency.Here’stheprocess:

1. ICAChannelBandwidth:TheICAChannelbreakdownprovideskeyvisibilityintothedifferentchannelsbeingconsumedandtheirimpactontheaudiochannels.Thisalsoprovideperspectiveofwhatotheractivityistakingplaceonthesessionhostthatisrelyingonthebandwidth.

2. 3rdPartyVendorChannels:3rdPartyvendors,likeNuance,havetheirowncustomchannelstoensurepriorityofdictationtraffic.Monitoringthistrafficmayprovidekeyinsightintohowrecordingtrafficisbeingimpactedbytheotherchannels.

3. ChecktheInbound/OutboundConnectionSpeed:Lowoutboundconnectionspeedmaybecomeaproblemdependingontheotherinbound/outboundactivitiestakingplace–driveredirection,smartcard,attacheddevices,andhighresolutiongraphics.Inboundspeed,especiallyiftheuseriscomingoverwirelesscanimpactrecordingperformanceuponplayback.

4. ChecktheNetworkLatency:EventheICAProtocolwillusecachingandintelligencetosmoothoutnetworklatencyindeliveringthesession,thenatureoftheaudiochannel,especiallywhendictating,issuchthatitisstillsusceptibletonetworklatencyspikes.

HighResolutionContent,WebBrowsing,andVideo:

It’snosecretthatstreamingmediacannegativelyimpactenduserexperience,butthereasonhaslesstodowithagivenwebsiteorvideo,butrathertheconditionthattherearerapidlychangingpixelsonthescreenthatneedtobepresentedbackdowntotheendpoint.Apresentationthatisprimarilyaslideshowwithvoiceoverthathaslongpausesbetweennewcontentbeingpresentedwouldputlessstressontheprotocolthanablogwithrotatingads.RememberICAChannelBandwidthforThinwire,thedisplayprotocolcanbeusedtogetageneralideaofthetypeofdatabeingpassedthroughtheconnection:

- Below200k/secisgenerallyworkprocessingandtext.- 400-800k/secisgenerallywebpageorsimilartypeoftraffic- 800-1200k/secisgraphicrichcontent,andlowqualityvideo.- 1200k/sec+ishighfidelityvideotraffic

So,whendeterminingifthereisacorrelationbetweenthistypeofcontentbeingaccessedbytheenduserandpoorenduserexperienceweusetheICAChannelBandwidth,ICARTT,FPS,andConnectionSpeedtodeterminethecauseofthebottleneck.Here’stheprocess:

1. ICAChannelBandwidth:Firstandforemost,weneedtodeterminethetypeofcontentpassingthroughthechannel,andifthebandwidthisevenbeingusedbypresentationversus,printing,clipboard,ordriveredirection.ReviewtheThinwireBandwidthutilizationandcompareittothedatapointsabovetodeterminewhattypeofdatatheuserispassingthroughtheconnection

26

2. ChecktheConnectionSpeedorOutboundLineSpeedtodetermineifthereissufficientconnectionspeedattheendpoint.Ifthereisnot,youwillseeacorrelatingspikeinICALatencyifitneedstoscaleupconnectionspeedtoaccommodateorifthereisabottleneck

3. ChecktheFPStoseeiftheprotocolispeakingoutintherateitcansenddatadowntotheendpoint

4. Atthetimeswhenweseehighbandwidthutilization,checktheICARTTtoseeifperformanceistrendingover400mspersistentlyorsustainedwhichwillresultintheuserexperiencingslowness.

5. Ifthesessionhostcanhandlethetraffic,andICARTTisunder400ms,CPU,CPUReady,andmemoryusageshouldbereviewedtoidentifyanypotentialproblems.

SummaryForover20yearstheprotocolhasevolvedfromabasicterminaldeliverymechanismintoarobust,lightweightandpowerfulplatformfordeliveringarichvirtualcomputinguserexperience.Alongtheway,Citrixinstrumentedtheprotocolsuchthatithasbecomeaprimarywaytodeterminewhyausermayhaveapoorenduserexperience.InordertoeffectivelysupportCitrixdeployments,engineersresponsiblefortroubleshootingneedtohavetoolsthatallowthemtofollowthepathfromtheusertorootcause.ThesetoolsmustincorporatethekeydatafromeachplatformnecessarytotroubleshootCitrixexperienceissues:Citrixsession,ICAprotocol,virtualization,andapplicationperformance.ForthosetechnologiesthathaveICAvisibility,it’sspecificallyimportanttoensurekeymetricssuchasICALatency,ICARTT,NetworkLatency(throughtheICAprotocol),outboundlinespeed,ICAchannelB/Wbychannel,andFPSareavailablewithCPU&CPUReadyattheVMandhostleveltoeffectivelytroubleshoot.

GoliathPerformanceMonitorisacomprehensivetroubleshooting,alerting,reportingandremediationtechnologythatallowsengineerstocorrelateauser’sperformancebetweentheICAconnection,channel,application,Windows,andhypervisorleveltoidentifyrootcause.PurposebuiltforCitrixdeliveryinfrastructures,GoliathTechnologiesdeliverssolutionstoCitrixadministratorsthatprovidedeepandwidevisibility,allowingthemtounderstandhowICAperformance,networkperformanceandsystemperformanceallimpactenduserexperience.

GoliathTechnologiesalsoprovidescapabilitiesthatgobeyondsimplymonitoringtheenvironment.Theyaretrulyproactiveandgiveadministratorsthecapabilitiesneededtoanticipate,troubleshoot,resolveandpreventallCitrixenduserexperienceissues.

27

AbouttheAuthors

GoliathSupportTeam

TheGoliathSupportTeammemberscollaboratedtobringtogetherthisguidebycallingontheirpastcustomerexperiencesandexpertknowledgeofCitrixtroubleshooting.Beyondwritingtechnicaldocuments,thisteamsupportsGoliathcustomersandprovidesproductfeatureandfunctionguidancetodevelopment.

– LeadAuthors:LeeGitzes,Sr.DirectorofTechnicalOperations,andRajaJadeja,VicePresidentofProductManagement

MariusSandbu,CTP

MariusSandbuisaCloudArchitectworkingforEVRYCloudServicesinNorway.PrimarilyfocusingonCloud-basedofferingsandEUC.

Healsohasextensiveexperienceinend-usercomputingsolutionssuchasVMwareHorizon,CitrixXenDesktop,MicrosoftRDSandCloudsolutionslikeMicrosoftAzure,VMwarevCloudAir,CitrixWorkspaceCloud,Office365andMicrosoftEMS.

MariusisafrequentspeakeratNordicInfrastructureConferenceandCitrixUserGroup,andhasbeenoneofthefewexternalspeakersontheCitrixNetScalerMasterclass.

“ThistechnicalguideisfocusedonunderstandingandtroubleshootingCitrixICA/HDXandthenewprotocol,HDXAdaptiveTransport.ThisiscriticaltoensuringagoodenduserexperiencewhenusingCitrix.”-MariusSandbu,CTP


Top Related