{"id":7172,"date":"2020-10-14T16:33:38","date_gmt":"2020-10-14T21:33:38","guid":{"rendered":"https:\/\/www.poweradmin.com\/blog\/?p=7172"},"modified":"2020-10-14T16:33:38","modified_gmt":"2020-10-14T21:33:38","slug":"diagnosing-remote-desktop-application-performance-problems","status":"publish","type":"post","link":"https:\/\/www.poweradmin.com\/blog\/diagnosing-remote-desktop-application-performance-problems\/","title":{"rendered":"Diagnosing Remote Desktop Application Performance Problems"},"content":{"rendered":"<p>With so much Work From Home (WFM) going on these days, system administrators likely have many people using Remote Desktop, hopefully through Remote Desktop Gateway, to access their work computers to accomplish their work.<\/p>\n<p>\u00a0<\/p>\n<p>Usually Remote Desktop works great \u2013 it\u2019s been tuned well and offers good performance.\u00a0 \u00a0Sometimes it doesn\u2019t and that\u2019s when you need to investigate to figure out why.<\/p>\n<p>\u00a0<\/p>\n<p>If several users are sharing a host, it\u2019s possible the host is overloaded.\u00a0 A great way to check this (if the host is Windows 2019 or newer) is with a couple of performance counters Microsoft has introduced:\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">User Input Delay per Session(<em>sessionID<\/em>)\\Max Input Delay<\/span><\/strong><\/p>\n<p>\u00a0<\/p>\n<p>and<\/p>\n<p>\u00a0<\/p>\n<p><strong><span style=\"font-family: 'courier new', courier, monospace;\">User Input Delay per Process(<em>pid<\/em>)\\Max Input Delay<\/span><\/strong><\/p>\n<p>\u00a0<\/p>\n<p>These two counters keep track of the maximum amount of time an application (or the max time for all applications in a session) takes to respond to a user interaction, such as keyboard press or a mouse click.\u00a0 Typically an application should be responding very quickly to these events in it\u2019s event Message Loop.\u00a0 \u00a0If it isn\u2019t, it could be that the application is CPU starved, disk bound, waiting for a database, etc.<\/p>\n<p>\u00a0<\/p>\n<p>You can easily monitor these counters using PA Server Monitor\u2019s <a href=\"https:\/\/www.poweradmin.com\/help\/latestsmhelp.aspx?page=monitor_perfmon_counter.aspx&amp;ref=blog\" target=\"_blank\" rel=\"noopener noreferrer\">Performance Monitor<\/a>:<\/p>\n<p>\u00a0<\/p>\n<p><a href=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2020\/10\/user-input-delay-per-session-counter.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7173\" src=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2020\/10\/user-input-delay-per-session-counter.png\" alt=\"\" width=\"674\" height=\"351\" srcset=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2020\/10\/user-input-delay-per-session-counter.png 674w, https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2020\/10\/user-input-delay-per-session-counter-300x156.png 300w\" sizes=\"auto, (max-width: 674px) 100vw, 674px\"><\/a><\/p>\n<p>\u00a0<\/p>\n<p>Note that in this example I\u2019m watching session 2 (my current RDP session ID).\u00a0 \u00a0By editing the counter, you can change the instance ID to be * and then it will watch every counter as they come and go:<\/p>\n<p>\u00a0<\/p>\n<p><a href=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2020\/10\/edit-performance-counter-wild-card.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7174\" src=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2020\/10\/edit-performance-counter-wild-card.png\" alt=\"\" width=\"852\" height=\"437\" srcset=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2020\/10\/edit-performance-counter-wild-card.png 852w, https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2020\/10\/edit-performance-counter-wild-card-300x154.png 300w, https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2020\/10\/edit-performance-counter-wild-card-768x394.png 768w\" sizes=\"auto, (max-width: 852px) 100vw, 852px\"><\/a><\/p>\n<p>If the application IS responding quickly, then perceived slowness isn\u2019t the fault of the application, in which case you need to start looking at the end user\u2019s network connection to the host.\u00a0 Knowing what the problem isn\u2019t is the first step to finding what the problem is.\u00a0 Good luck.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With so much Work From Home (WFM) going on these days, system administrators likely have many people using Remote Desktop, hopefully through Remote Desktop Gateway, to access their work computers to accomplish their work. \u00a0 Usually Remote Desktop works great \u2013 it\u2019s been tuned well and offers good performance.\u00a0 \u00a0Sometimes it doesn\u2019t and that\u2019s when [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":7174,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,57,10,9,8],"tags":[],"class_list":["post-7172","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","category-monitoring","category-power-admin","category-technical","category-windows"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/posts\/7172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/comments?post=7172"}],"version-history":[{"count":2,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/posts\/7172\/revisions"}],"predecessor-version":[{"id":7176,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/posts\/7172\/revisions\/7176"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/media\/7174"}],"wp:attachment":[{"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/media?parent=7172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/categories?post=7172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/tags?post=7172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}