{"id":937,"date":"2017-09-08T01:00:00","date_gmt":"2017-09-08T01:00:00","guid":{"rendered":"http:\/\/inswwdev.azurewebsites.net\/au\/insights\/uncategorized\/outlook-performance-in-non-persistent-environments-using-fslogixs-office-365-containers\/"},"modified":"2017-09-08T01:00:00","modified_gmt":"2017-09-08T01:00:00","slug":"outlook-performance-in-non-persistent-environments-using-fslogixs-office-365-containers","status":"publish","type":"post","link":"https:\/\/www.insentragroup.com\/au\/insights\/geek-speak\/modern-workplace\/outlook-performance-in-non-persistent-environments-using-fslogixs-office-365-containers\/","title":{"rendered":"Outlook Performance in Non-Persistent Environments Using FSLogix\u2019s Office 365 Containers"},"content":{"rendered":"<p style=\"text-align: justify;\">RDS Gurus decided to run performance tests on Outlook in non-persistent environments using FSLogix\u2019s Office 365 Containers solution. We wanted to illustrate the user experience of remote desktop users working in an RDS environment configured to use FSLogix Office 365 Containers relative to the typical user experience when using native RDS UPD technology. Our primary focus was to measure how performance degrades when multiple users are simultaneously working with Outlook (\u201cnoisy neighbor effect\u201d).<\/p>\n<p style=\"text-align: justify;\">We did this by collecting performance metrics as well as video footage of a series of test runs where users in remote sessions \u201cworked\u201d in Outlook 2016. All the work was automated. Users opened Outlook and conducted a series of searches that queried the local windows search service (queries against All Mailboxes, All Outlook Items or Subfolders) and queried the Office 365 server search service (queries against current folder and mailbox).<\/p>\n<p style=\"text-align: justify;\">We recorded the on-screen user experience of a primary user, and also collected performance counter data during each test run. In some runs only the primary user taxed the system. In other runs, we introduced a number of secondary users who also \u201cworked\u201d in Outlook. We conducted our tests in an on-premises environment, and a duplicate Azure environment to see if there were any notable differences in a cloud based environment.<\/p>\n<h2 style=\"padding-bottom: 15px; margin-bottom: 30px; margin-top: 40px; border-bottom: 1px solid #f16020;\"><strong>Benchmarking Test Steps<\/strong><\/h2>\n<p style=\"text-align: justify;\">These are the steps we performed to set up the environments, conduct the test runs and gather the results:<\/p>\n<ul>\n<li style=\"text-align: justify;\">Build both the on premises and the Azure environments (includes identical RDS deployments in Azure and on premises locations). Our lab setup is shown<span>\u00a0<\/span><a rel=\"noopener nofollow\" href=\"http:\/\/www.rdsgurus.com\/our-lab-environment\/\" target=\"_blank\">here<\/a>.<\/li>\n<li style=\"text-align: justify;\">Create and compile the test sequences that will run the workloads \u2013 these are the executables that simulate user\u2019s working in Outlook.<span>\u00a0<\/span><a rel=\"noopener nofollow\" href=\"http:\/\/www.rdsgurus.com\/about-the-outlook-search-test-runs\/\" target=\"_blank\">Click here for more details<\/a><span>\u00a0<\/span>about our compiled executables and how they work<\/li>\n<li style=\"text-align: justify;\">Conduct the test runs<\/li>\n<li style=\"text-align: justify;\">Collect metrics, performance counters and videos<\/li>\n<li style=\"text-align: justify;\">Build REX Analyzer 4-Up Video Panels that show the primary user experience along with certain performance monitor counters in real time<\/li>\n<li style=\"text-align: justify;\">Analyze the data<\/li>\n<\/ul>\n<h2 style=\"padding-bottom: 15px; margin-bottom: 30px; margin-top: 40px; border-bottom: 1px solid #f16020;\"><strong>Benchmarking Setup<\/strong><\/h2>\n<p style=\"text-align: justify;\">Our benchmarking setup had four parts: The On-Premise RDS deployment, the Azure RDS deployment, the Tracking Component and the Client Component (see Figure 1). The Tracking Environment included a Lab Controller PC connected to the primary client (so it can capture video data from a client PC\u2019s RDS sessions and store those videos for later analysis), and an RD Session Host server to kick off secondary user sessions to the on-prem\/azure RDS environments.<\/p>\n<p style=\"text-align: justify;\">\u00a0<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" style=\"width: 702px; height: 494px;\" src=\"https:\/\/www.insentragroup.com\/wp-content\/uploads\/sites\/22\/2021\/02\/fslogix1.png\" alt=\"\" data-udi=\"umb:\/\/media\/3adcf7916594481698f1fa5d2b4f6410\" title=\"\"><\/p>\n<p style=\"text-align: justify;\">Figure 1 \u2013 The On-Premise RDS deployment, the Azure RDS deployment, the Tracking Component and the Client Component.<\/p>\n<h2 style=\"padding-bottom: 15px; margin-bottom: 30px; margin-top: 40px; border-bottom: 1px solid #f16020;\"><strong>REX Analysis and Our Outlook Search Benchmarking Conclusions<\/strong><\/h2>\n<p style=\"text-align: justify;\">In June 2017, we conducted<span>\u00a0<\/span><a rel=\"noopener nofollow\" href=\"http:\/\/www.rdsgurus.com\/post-1882\/\" target=\"_blank\">20 Outlook Search test runs<\/a>. For each test run we gathered and analyzed the screen videos from the primary client and the Performance Monitor footage.<\/p>\n<p style=\"text-align: justify;\">We compared runs that used User Profile Disks to like runs that used FSLogix container technology. In each comparison, the number of secondary users \u201cworking\u201d in the background was the same (0, 5, 10 and 20 users). UPD secondary users were not indexed \u2013 this simulated the users having to re-index if they move to a different RD Session Host server. FSLogix secondary users started off indexed because their index roams with them (no need to rebuild if they end up on a new RD Session Host server).<\/p>\n<p style=\"text-align: justify;\">We looked for differences in how Outlook search performs in the primary user session when using the two technologies. We watched for any noticeable search result slowdown for the primary user when the secondary user\u2019s OST files were being indexed in the background. We looked for differences in resource consumption per technology when the user load was low, or increased.<\/p>\n<p style=\"text-align: justify;\">We used our own REX Analyzer software to create 4 quadrant video comparisons of each test run match-up. In the top two quadrants, we ran videos of the two primary user sessions we were comparing. In the bottom two quadrants we ran performance counter data from those two sessions.<\/p>\n<p style=\"text-align: justify;\">These are our conclusions from watching all Rex Analyzer 4 video panel match ups.<\/p>\n<h2 style=\"padding-bottom: 15px; margin-bottom: 30px; margin-top: 40px; border-bottom: 1px solid #f16020;\">1. User Experience Is Similar If Outlook Is Indexed<\/h2>\n<p style=\"text-align: justify;\">While there are some differences in the resource consumption between UPD and FSLogix technologies (this is more evident through performance counter logs and graphing), the user experience for users using UPD and using FSLogix is very similar if the user\u2019s Outlook is indexed.<\/p>\n<p style=\"text-align: justify;\">Here is a REX Analyzer file comparing test runs using UPD and FSLogix with 5 noisy neighbors. When both primary users are indexed, and the server is under a relatively small user load, user experience is good. UPD users and FSLogix users both get search results returned in good time.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" style=\"width: 731px; height: 393px;\" src=\"https:\/\/www.insentragroup.com\/wp-content\/uploads\/sites\/22\/2021\/02\/fslogic2.png\" alt=\"\" data-udi=\"umb:\/\/media\/0f66f7d203504d5a842e3dd2e0996b85\" title=\"\"><\/p>\n<p style=\"text-align: justify;\">If resources are scarce due to more secondary load placed on the system the primary user\u2019s experience degrades; In the next REX Analyzer panel, we show UPD and FSLogix test runs with 20 noisy neighbors. You will see the stop watch timer stutter and search results are still returned but with slight lag \u2013 but this is true for both UPD and FSLogix users. And even though you can see the CPU in the FSLogix test run is pegged more than in the UPD test, the user experience is still very similar.<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" style=\"width: 730px; height: 381px;\" src=\"https:\/\/www.insentragroup.com\/wp-content\/uploads\/sites\/22\/2021\/02\/fslogix3.png\" alt=\"\" data-udi=\"umb:\/\/media\/115463c0b3434263a4e17c2fb1cfec53\" title=\"\"><\/p>\n<h2 style=\"padding-bottom: 15px; margin-bottom: 30px; margin-top: 40px; border-bottom: 1px solid #f16020;\">2. User Experience with FSLogix Wins When Users Roam<\/h2>\n<p style=\"text-align: justify;\">This is not surprising as this is a main selling point for FSLogix, but it still rings very true and is worth stating: When users roam from RD session host to another RD Session host, their search experience is far better with FSLogix. This is because it roams the search index on per user basis inside the user\u2019s profile container; there is no need to re-index a user\u2019s Outlook OST no matter which RD Session Host server they end up on.<\/p>\n<p style=\"text-align: justify;\">During our test runs we could observe time and time again that secondary FSLogix users that had Outlook indexed had a far better user experience in than secondary UPD users who had to have their OSTs indexed. The FSLogix secondary users got consistent returned results for searches that used the Windows Local Search service while the UPD secondary users did not. To show this we videoed the Noisy Neighbor sessions in two on premises test runs. Note in the following video where search results are not returned for searches that use the local windows search service (these are non-indexed UPD users):<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" style=\"width: 721px; height: 405px;\" src=\"https:\/\/www.insentragroup.com\/wp-content\/uploads\/sites\/22\/2021\/02\/fslogic4.png\" alt=\"\" data-udi=\"umb:\/\/media\/dba93fbe2fe8435eb0dc0704a6976569\" title=\"\"><\/p>\n<p style=\"text-align: justify;\">Now you see next FSLogix users, with Outlook OST files indexed get consistent search results returned in Outlook:<\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" style=\"width: 717px; height: 373px;\" src=\"https:\/\/www.insentragroup.com\/wp-content\/uploads\/sites\/22\/2021\/02\/fslogix5.png\" alt=\"\" data-udi=\"umb:\/\/media\/3a769599a44741019998432541170360\" title=\"\"><\/p>\n<h2 style=\"padding-bottom: 15px; margin-bottom: 30px; margin-top: 40px; border-bottom: 1px solid #f16020;\">3. The Leveler: Windows Search Service Throttling<\/h2>\n<p style=\"text-align: justify;\">Throughout the test runs, resource usage on the RD Session Host servers was similar, even when secondary UPD user sessions were busy indexing Outlook OSTs in the background. The mechanism that keeps the UPD and FSLogix sessions seeming so comparable is the Windows Search Service being throttled back. When the index service needs to index a user\u2019s Outlook OST, this happens in the background and Windows Search service is not given priority on the machine. If many users are all being indexed at the same time, then we see this happen very slowly.<\/p>\n<h2 style=\"padding-bottom: 15px; margin-bottom: 30px; margin-top: 40px; border-bottom: 1px solid #f16020;\"><strong>Windows Search Throttling Details<\/strong><\/h2>\n<p style=\"text-align: justify;\">The indexer runs off a basic backoff system where it will do work for X ms then sleep for Y ms, where Y&gt;&gt;X. It doesn\u2019t matter how much work you give it, the CPU usage won\u2019t spike. Indexing just takes longer.<\/p>\n<p style=\"text-align: justify;\">So, it makes sense that if, for example, 10 users all need indexing and the primary user does not, then the primary user will not feel the effects of the other users\u2019 indexing needs. Therefore, it does not seem to matter performance wise if a user is fully indexed and uses either UPD or FSLogix.<\/p>\n<p style=\"text-align: justify;\">There is a GPO that affects this throttling:<\/p>\n<p style=\"text-align: justify;\">Computer Configuration \/ Policies \/ Administrative Templates \/ Windows Components \/ Search \/ Disable Indexer Backoff<\/p>\n","protected":false},"excerpt":{"rendered":"<p>RDS Gurus decided to run performance tests on Outlook in non-persistent environments using FSLogix\u2019s Office 365 Containers solution. We wanted to illustrate the user experience of remote desktop users working in an RDS environment configured to use FSLogix Office 365 Containers relative to the typical user experience when using native RDS UPD technology. Our primary&hellip; <a class=\"more-link\" href=\"https:\/\/www.insentragroup.com\/au\/insights\/geek-speak\/modern-workplace\/outlook-performance-in-non-persistent-environments-using-fslogixs-office-365-containers\/\">Continue reading <span class=\"screen-reader-text\">Outlook Performance in Non-Persistent Environments Using FSLogix\u2019s Office 365 Containers<\/span><\/a><\/p>\n","protected":false},"author":9,"featured_media":938,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[19],"tags":[],"class_list":["post-937","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-modern-workplace","entry"],"_links":{"self":[{"href":"https:\/\/www.insentragroup.com\/au\/wp-json\/wp\/v2\/posts\/937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.insentragroup.com\/au\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.insentragroup.com\/au\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.insentragroup.com\/au\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.insentragroup.com\/au\/wp-json\/wp\/v2\/comments?post=937"}],"version-history":[{"count":0,"href":"https:\/\/www.insentragroup.com\/au\/wp-json\/wp\/v2\/posts\/937\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.insentragroup.com\/au\/wp-json\/wp\/v2\/media\/938"}],"wp:attachment":[{"href":"https:\/\/www.insentragroup.com\/au\/wp-json\/wp\/v2\/media?parent=937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.insentragroup.com\/au\/wp-json\/wp\/v2\/categories?post=937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.insentragroup.com\/au\/wp-json\/wp\/v2\/tags?post=937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}