{"id":1713,"date":"2014-09-04T12:55:00","date_gmt":"2014-09-04T19:55:00","guid":{"rendered":"https:\/\/thebeagle.itgroove.net\/?p=1713"},"modified":"2023-02-24T21:39:53","modified_gmt":"2023-02-24T21:39:53","slug":"i-got-dem-ol-slow-terminal-server-2012-blues","status":"publish","type":"post","link":"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/","title":{"rendered":"I got dem Ol\u2019 Slow Terminal Server (2012) Blues!"},"content":{"rendered":"<p>l have been fighting with a new RDS (terminal server) install at a big customer for the last few months.\u00a0 They run a line of business app that is written in Visual FoxPro9 and it has some quirks, to say the least.\u00a0 They were running the app on an older Server 2008 terminal server on top of VMware ESXi and we migrated them to a Server 2012 R2 RDS server on top of Hyper-V (again, Server 2012 R2).<\/p>\n<p>The Hyper-V host had been built with a Tiered Storage Space on an Dell T620 configured with as much shiny \u201cgo fast\u201d hardware as we could stuff into the box.\u00a0 I built out the RDS server VM using best practices and the thing appeared to be smoking fast.\u00a0 User acceptance testing was performed on the VM (or so I thought) then we picked a weekend for the big bang migration to the new box (did I mention that the whole blasted company runs off the terminal server??? and that migration was essentially one way???).\u00a0 Then production starts on the box and the LOB app is a <strong><em>dog<\/em><\/strong>.\u00a0 Uggghhh!<\/p>\n<p>To make a long and painful story short, let\u2019s just say that I tried everything under the sun to get the blasted thing to work better and failed.\u00a0 I also have to say that all efforts were focused against the VFP9 application which, in the end, was actually something of a red herring.\u00a0 The key to solving the problem was to NOT look at VFP9 issues and focus on the terminal server itself, instead.<\/p>\n<p>What finally tweaked me to the fact that it wasn\u2019t a VFP issue is when we started trying things on the same test VM in terms of test without RDS role enabled then test again with RDS role enabled.\u00a0 Doing this lead to very clear results \u2013 soon as RDS role was enabled the performance, specially for the VFP9 app, went into the basement.\u00a0 With that in mind I spent a little time with my friend Mr. Google and soon came up with an answer!<\/p>\n<p>It seems Microsoft has \u201cquietly\u201d slipped into RDS server environments a technology that they call \u201cFairShare\u201d.\u00a0 FairShare was originally enabled in Server 2008 R2 at the CPU level and then expanded with the release of Server 2012 to include disk and network, as well.\u00a0 In a nutshell, FairShare is a set of filter drivers that \u201cthrottles\u201d CPU, disk and network at the user level so that no one user can hog resources on an RDS box.\u00a0 As soon as the RDS role is enabled in 2012 or 2012 R2 the FairShare filters kick in and they can be a performance killer to things like my clients VFP9 app!<\/p>\n<p>Thankfully, it is reasonably easy to \u201cfix\u201d.<\/p>\n<p>The FairShare CPU settings can be turned off by a GPO setting that you apply at the <strong><em>machine level \u2013&gt; <\/em><\/strong>Computer Configuration, Policies, Administrative Templates, Windows Components, Remote Desktop Services, Remote Desktop Session Host, Connections: enable <strong>Turn off Fair Share CPU Scheduling.<\/strong><\/p>\n<p><a href=\"https:\/\/thebeagle.itgroove.net\/wp-content\/uploads\/thebeagle\/2014\/09\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px\" title=\"image\" src=\"http:\/\/thebeagle.itgroove.net\/wp-content\/uploads\/thebeagle\/2014\/09\/image_thumb.png\" alt=\"image\" width=\"612\" height=\"327\" border=\"0\" \/><\/a><\/p>\n<p>The disk and network settings are a tad harder to change as you have to make REGISTRY changes on the RDS server itself:<\/p>\n<p>DISK:<\/p>\n<p><a href=\"https:\/\/thebeagle.itgroove.net\/wp-content\/uploads\/thebeagle\/2014\/09\/image1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px\" title=\"image\" src=\"http:\/\/thebeagle.itgroove.net\/wp-content\/uploads\/thebeagle\/2014\/09\/image_thumb1.png\" alt=\"image\" width=\"611\" height=\"345\" border=\"0\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>NETWORK:<\/p>\n<p><a href=\"https:\/\/thebeagle.itgroove.net\/wp-content\/uploads\/thebeagle\/2014\/09\/image2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px\" title=\"image\" src=\"http:\/\/thebeagle.itgroove.net\/wp-content\/uploads\/thebeagle\/2014\/09\/image_thumb2.png\" alt=\"image\" width=\"614\" height=\"322\" border=\"0\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Make the registry changes and reboot and you should be good to go!<\/p>\n<p>Be aware that you have now removed the constraints that Microsoft put in place to keep user sessions form going crazy BUT it is probably a good trade off if you need to get your speed back for particular applications.\u00a0 My customer saw certain functions go from taking over 10 minutes to taking under 2 minutes after we made the changes.\u00a0 And other functions that had taken\u00a0 multiple seconds became \u201cimmediate\u201d.<\/p>\n<p>I hope this saves you from hours, days, even months of agony!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>l have been fighting with a new RDS (terminal server) install at a big customer for the last few months.\u00a0 They run a line of business app that is written in Visual FoxPro9 and it has some quirks, to say the least.\u00a0 They were running the app on an older Server 2008 terminal server on &hellip; <a href=\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/\"><\/a><\/p>\n","protected":false},"author":10,"featured_media":1643,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[259,261],"tags":[390,563],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>I got dem Ol\u2019 Slow Terminal Server (2012) Blues! - Archive<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"I got dem Ol\u2019 Slow Terminal Server (2012) Blues! - Archive\" \/>\n<meta property=\"og:description\" content=\"l have been fighting with a new RDS (terminal server) install at a big customer for the last few months.\u00a0 They run a line of business app that is written in Visual FoxPro9 and it has some quirks, to say the least.\u00a0 They were running the app on an older Server 2008 terminal server on &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/\" \/>\n<meta property=\"og:site_name\" content=\"Archive\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-04T19:55:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-24T21:39:53+00:00\" \/>\n<meta name=\"author\" content=\"Sean Wallbridge\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sean Wallbridge\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/\",\"url\":\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/\",\"name\":\"I got dem Ol\u2019 Slow Terminal Server (2012) Blues! - Archive\",\"isPartOf\":{\"@id\":\"https:\/\/regroove.ca\/archive\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2014-09-04T19:55:00+00:00\",\"dateModified\":\"2023-02-24T21:39:53+00:00\",\"author\":{\"@id\":\"https:\/\/regroove.ca\/archive\/#\/schema\/person\/74e1c0def190f181c1394c2b6d883e77\"},\"breadcrumb\":{\"@id\":\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog Archive\",\"item\":\"https:\/\/regroove.ca\/archive\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"I got dem Ol\u2019 Slow Terminal Server (2012) Blues!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/regroove.ca\/archive\/#website\",\"url\":\"https:\/\/regroove.ca\/archive\/\",\"name\":\"Archive\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/regroove.ca\/archive\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/regroove.ca\/archive\/#\/schema\/person\/74e1c0def190f181c1394c2b6d883e77\",\"name\":\"Sean Wallbridge\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/regroove.ca\/archive\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/adf8cea6291c39d166616f2148d919a6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/adf8cea6291c39d166616f2148d919a6?s=96&d=mm&r=g\",\"caption\":\"Sean Wallbridge\"},\"url\":\"https:\/\/regroove.ca\/archive\/author\/swallbridge\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"I got dem Ol\u2019 Slow Terminal Server (2012) Blues! - Archive","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/","og_locale":"en_US","og_type":"article","og_title":"I got dem Ol\u2019 Slow Terminal Server (2012) Blues! - Archive","og_description":"l have been fighting with a new RDS (terminal server) install at a big customer for the last few months.\u00a0 They run a line of business app that is written in Visual FoxPro9 and it has some quirks, to say the least.\u00a0 They were running the app on an older Server 2008 terminal server on &hellip;","og_url":"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/","og_site_name":"Archive","article_published_time":"2014-09-04T19:55:00+00:00","article_modified_time":"2023-02-24T21:39:53+00:00","author":"Sean Wallbridge","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sean Wallbridge","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/","url":"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/","name":"I got dem Ol\u2019 Slow Terminal Server (2012) Blues! - Archive","isPartOf":{"@id":"https:\/\/regroove.ca\/archive\/#website"},"primaryImageOfPage":{"@id":"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/#primaryimage"},"image":{"@id":"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/#primaryimage"},"thumbnailUrl":"","datePublished":"2014-09-04T19:55:00+00:00","dateModified":"2023-02-24T21:39:53+00:00","author":{"@id":"https:\/\/regroove.ca\/archive\/#\/schema\/person\/74e1c0def190f181c1394c2b6d883e77"},"breadcrumb":{"@id":"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/regroove.ca\/archive\/2014\/09\/04\/i-got-dem-ol-slow-terminal-server-2012-blues\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Archive","item":"https:\/\/regroove.ca\/archive\/"},{"@type":"ListItem","position":2,"name":"I got dem Ol\u2019 Slow Terminal Server (2012) Blues!"}]},{"@type":"WebSite","@id":"https:\/\/regroove.ca\/archive\/#website","url":"https:\/\/regroove.ca\/archive\/","name":"Archive","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/regroove.ca\/archive\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/regroove.ca\/archive\/#\/schema\/person\/74e1c0def190f181c1394c2b6d883e77","name":"Sean Wallbridge","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/regroove.ca\/archive\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/adf8cea6291c39d166616f2148d919a6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/adf8cea6291c39d166616f2148d919a6?s=96&d=mm&r=g","caption":"Sean Wallbridge"},"url":"https:\/\/regroove.ca\/archive\/author\/swallbridge\/"}]}},"_links":{"self":[{"href":"https:\/\/regroove.ca\/archive\/wp-json\/wp\/v2\/posts\/1713"}],"collection":[{"href":"https:\/\/regroove.ca\/archive\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/regroove.ca\/archive\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/regroove.ca\/archive\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/regroove.ca\/archive\/wp-json\/wp\/v2\/comments?post=1713"}],"version-history":[{"count":1,"href":"https:\/\/regroove.ca\/archive\/wp-json\/wp\/v2\/posts\/1713\/revisions"}],"predecessor-version":[{"id":2875,"href":"https:\/\/regroove.ca\/archive\/wp-json\/wp\/v2\/posts\/1713\/revisions\/2875"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/regroove.ca\/archive\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/regroove.ca\/archive\/wp-json\/wp\/v2\/media?parent=1713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/regroove.ca\/archive\/wp-json\/wp\/v2\/categories?post=1713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/regroove.ca\/archive\/wp-json\/wp\/v2\/tags?post=1713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}