1 / 38

CITRIX PRESENTATION SERVER USER SCALING IN 32-BIT AND 64-BIT SERVER ENVIORNMENTS

Non Disclosure Agreement. This presentation is confidential. By virtue of your relationship with Citrix, you are bound to retain in confidence all information in this presentation.. . Today's Agenda. Server sizing techniquesAnalyzing server bottlenecksScalability RecommendationsEmerging tec

krystyn
Download Presentation

CITRIX PRESENTATION SERVER USER SCALING IN 32-BIT AND 64-BIT SERVER ENVIORNMENTS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. CITRIX PRESENTATION SERVER USER SCALING IN 32-BIT AND 64-BIT SERVER ENVIORNMENTS John D’Agati Sr. Engineer, Citrix Systems Inc.

    2. Non Disclosure Agreement This presentation is confidential. By virtue of your relationship with Citrix, you are bound to retain in confidence all information in this presentation.

    3. Today’s Agenda Server sizing techniques Analyzing server bottlenecks Scalability Recommendations Emerging technology’s impact on user density Citrix eLabs

    4. Single Server Scalability (SSS) How many users can a Citrix Presentation Server support? Power of the server, the environment in which the server is installed, applications running on the server, way users employ those applications The answer to this question can be found by: Creating a test environment that mimics the production Replicating user actions performed on the servers Measuring to see when and where the bottleneck occurs How many users can a computer running Presentation Server support? This is a common question among Citrix administrators. The answer is complex and includes many variables such as the power of the server, the environment in which the server is installed, the applications running on the server and the way users employ those applications. The answer to this question can be found by creating a test environment that mimics the production, replicating user actions performed on the servers while measuring to see when and where the bottleneck occurs. As the number of servers in a farm increases, so does the cost of maintaining the environment. It is important to optimize the configuration of the computers running Presentation Server to support more users on each server, thus reducing total cost of ownership. How many users can a computer running Presentation Server support? This is a common question among Citrix administrators. The answer is complex and includes many variables such as the power of the server, the environment in which the server is installed, the applications running on the server and the way users employ those applications. The answer to this question can be found by creating a test environment that mimics the production, replicating user actions performed on the servers while measuring to see when and where the bottleneck occurs. As the number of servers in a farm increases, so does the cost of maintaining the environment. It is important to optimize the configuration of the computers running Presentation Server to support more users on each server, thus reducing total cost of ownership.

    5. Developing Test Environment Configuring the Server Business applications Applications to be tested Anti-virus software Remote deployment software Agents (SNMP, SMS) Configuring the Client Client printers Client drives Multimedia / Audio Session color depth and resolution Security Settings On the server we want to determine the applications that will be installed. Will this server be dedicated to a single application or will there be multiple Make sure that all support software is install before the test. This includes Anti-virus, MetaFrame Password Manager, Remote Deployment Software, Server Agents (SNMP, SMS, Tivoli), plus any Service packs, Hot-fixes, Critical updates, RM. Installing software after you perform the test can skew the results. Different applications, tests and environments will behave differently, thus it is important to ensure that the test environment matches the setup used during deployment On the server we want to determine the applications that will be installed. Will this server be dedicated to a single application or will there be multiple Make sure that all support software is install before the test. This includes Anti-virus, MetaFrame Password Manager, Remote Deployment Software, Server Agents (SNMP, SMS, Tivoli), plus any Service packs, Hot-fixes, Critical updates, RM. Installing software after you perform the test can skew the results. Different applications, tests and environments will behave differently, thus it is important to ensure that the test environment matches the setup used during deployment

    6. Create a User Script Mimic typical users Typing speed Include printing Document size Frequency Save to both client and server drives File server Play audio Low quality High quality Log in / log out You can make your scripts simple or as complicated as you want. An example of a simple script would be to open Microsoft Word type a document, save the document and or print it. A more advanced script can open and close multiple applications and switch between them. Remember it is important to create these scripts so that they will mimic your typical or common user. With a little research or interviewing of your users you should be able to document the majority of actions performed daily in an application. Be sure to include data entry, saving information, pauses, printing and/or querying information. When writing these scripts design them so they will run in a continuous loop once launched. Creating a script that runs too fast or slow will cause the results to be inaccurate when compared to the production environment. You can make your scripts simple or as complicated as you want. An example of a simple script would be to open Microsoft Word type a document, save the document and or print it. A more advanced script can open and close multiple applications and switch between them. Remember it is important to create these scripts so that they will mimic your typical or common user. With a little research or interviewing of your users you should be able to document the majority of actions performed daily in an application. Be sure to include data entry, saving information, pauses, printing and/or querying information. When writing these scripts design them so they will run in a continuous loop once launched. Creating a script that runs too fast or slow will cause the results to be inaccurate when compared to the production environment.

    7. Run the Test Start scaling up users Monitor the performance data over time Processor - % Processor Time, System - Processor Queue Length Memory - Available Kbytes, Memory - Pages Input/Sec, Physical Disk - % Disk Time, Physical Disk - Current Disk Queue Length Manually login a session to determine the user experience Identify when a threshold has been reached Record the number of users at the threshold Save the data for later comparisons Next determine the ratio of users using these different applications. Will I have at any give time 60% of my users using Office and 40% using SAP. 50-50. This is important because during the measuring phase you will want to maintain this ratio of users to applications on the system. The test procedure will be: Login users (20 for the first iteration) and launch the scripts. They begin to execute while your monitoring the performance of the server. Users should be added in intervals of hours and not minutes, there is going to be a performance hit while the server gets acclimated to the users, this will eliminate extended spiking of resources due to logins, printer creation and user profile creation. Keep adding users while monitoring, but reduce the number of users added each time when close to a threshold Stagger the launch of the scripts a few seconds so all user do not launch the same application at the same time Save these baseline results so you can compare against any changes that are made to the environment or scripts in the futureNext determine the ratio of users using these different applications. Will I have at any give time 60% of my users using Office and 40% using SAP. 50-50. This is important because during the measuring phase you will want to maintain this ratio of users to applications on the system. The test procedure will be: Login users (20 for the first iteration) and launch the scripts. They begin to execute while your monitoring the performance of the server. Users should be added in intervals of hours and not minutes, there is going to be a performance hit while the server gets acclimated to the users, this will eliminate extended spiking of resources due to logins, printer creation and user profile creation. Keep adding users while monitoring, but reduce the number of users added each time when close to a threshold Stagger the launch of the scripts a few seconds so all user do not launch the same application at the same time Save these baseline results so you can compare against any changes that are made to the environment or scripts in the future

    8. Monitoring Existing Environments As an alternative to artificially scripting users, for existing environments analyze real-life usage in a pilot environment Use Resource Manager’s summary database to monitor servers in the farm Set metrics Set alerts for the desired thresholds Analyze historical data to see if trends are as expected If you already have a farm, you can use summary DB to determine how many users you have on a system. In the RM node of the Presentation Server Console you can add the appropriate metrics/counters to the servers. Set the desired thresholds and configure the alerts for when the thresholds are reached. Using the results during the test run we can also use RM to validate these numbers when we move the servers into the production farm While we are monitoring the farm if you detect a difference between the number of users on server in production than the testing environment. Adjust scripts to be even more accurate by speeding them up or slowing them down.If you already have a farm, you can use summary DB to determine how many users you have on a system. In the RM node of the Presentation Server Console you can add the appropriate metrics/counters to the servers. Set the desired thresholds and configure the alerts for when the thresholds are reached. Using the results during the test run we can also use RM to validate these numbers when we move the servers into the production farm While we are monitoring the farm if you detect a difference between the number of users on server in production than the testing environment. Adjust scripts to be even more accurate by speeding them up or slowing them down.

    9. System Bottlenecks How do I determine which subsystem is bottlenecked? CPU Memory Network Disk How do I alleviate the bottleneck? My users are complaining of slow response times when working within their applications. Where do I start? What tools are available?My users are complaining of slow response times when working within their applications. Where do I start? What tools are available?

    10. CPU Bottleneck Counters used to identify CPU bottlenecks Processor - % Processor Time System - Processor Queue Length Symptoms of a CPU bottleneck Application response time is slow Applications launch time is slow Applications freeze for short periods of time Login and logoff times are slow % Processor time counter can be misleading Users can experience delays even though processor time is below the expected threshold It is important to look at both of these counters to determine the health of the CPU subsystem % Processor time counter can be misleading Users can experience delays even though processor time is below the expected threshold It is important to look at both of these counters to determine the health of the CPU subsystem

    11. CPU Bottleneck A closer look at a CPU bottleneck A terminal server is essentially a time sharing system, there is never a single process using all of the CPU resources all of the time. A terminal server can have hundreds of processes all fighting for CPU time, this in itself can make determining a CPU bottleneck a little difficult. High CPU utilization does not always mean a bottleneck now that MalooCPU does fair share you can push it much higher, as its ultimately about end–user experience. Talk about identifying a single process is consuming all of the CPU time A terminal server is essentially a time sharing system, there is never a single process using all of the CPU resources all of the time. A terminal server can have hundreds of processes all fighting for CPU time, this in itself can make determining a CPU bottleneck a little difficult. High CPU utilization does not always mean a bottleneck now that MalooCPU does fair share you can push it much higher, as its ultimately about end–user experience. Talk about identifying a single process is consuming all of the CPU time

    12. Alleviating a CPU Bottleneck Faster processors Hyper-Threading Adding more processors 64-bit technology enables greater scaling up capabilities Dual-Core processors CPU optimization feature in Citrix Presentation Server 4.0

    13. 32-Bit Windows Memory Architecture 4 GB (2^32) address space 2 GB kernel mode virtual address space Shared across processes 2 GB user mode virtual address space Each process has it’s own Kernel address space includes System Page Table Entry (PTE) area KM thread stacks Paged Pool page tables, kernel objects System Cache file cache, registry 32-bit systems 32-bit= 2^32 bytes of memory= 4GB 4GB addressable memory is divided into: 2GB for User mode processes Every user mode process has its own 2GB of virtual memory 2GB for Kernel mode processes is shared between: System PTE, Page Pool, Non-Paged Pool, System Cache All processes and users must share the same kernel memory Adding more RAM does not increase the 2GB limit Session count limitations Knowledge Worker (KW) Scenario – maximum 270 sessions Paged Pool/System PTEs exhaustion Highest consumption – thread kernel stacks Large amounts of physical memory use significant Kernel VA for system data structures Performance implications Cache performance degrade – Due to high paged pool usage Special hardware configurations further reduces amount of KM VA available Roughly 2 bytes of VA is lost for each byte of hot-swap memory 32-bit systems 32-bit= 2^32 bytes of memory= 4GB 4GB addressable memory is divided into: 2GB for User mode processes Every user mode process has its own 2GB of virtual memory 2GB for Kernel mode processes is shared between: System PTE, Page Pool, Non-Paged Pool, System Cache All processes and users must share the same kernel memory Adding more RAM does not increase the 2GB limit Session count limitations Knowledge Worker (KW) Scenario – maximum 270 sessions Paged Pool/System PTEs exhaustion Highest consumption – thread kernel stacks Large amounts of physical memory use significant Kernel VA for system data structures Performance implications Cache performance degrade – Due to high paged pool usage Special hardware configurations further reduces amount of KM VA available Roughly 2 bytes of VA is lost for each byte of hot-swap memory

    14. Application Memory Bottleneck Counters used to identify bottlenecks in the application memory space Memory - Available KBytes Process - Working Set / Total Memory - Pages Input/sec Memory - Pages Output/sec Symptoms of an application memory bottleneck Users experience application delays even though processor time is below the expected threshold High disk utilization caused by paging Applications fail to launch

    15. Application Memory Bottleneck A closer look at an application memory bottleneck When a system has abundant physical RAM, the working set will initially grow at a high rate, and pages will be left in the working set of a process even if they are not in use. Eventually, when the total working set tends to exhaust the amount of physical memory, the operating system will be forced to trim the unused portions of working set until enough pages are made available to free up the memory pressure. This trimming of unused portions of the working sets will occur when the applications collectively need more physical memory than is available, a situation that requires the system to constantly page to maintain all the processes’ working sets. When a system has abundant physical RAM, the working set will initially grow at a high rate, and pages will be left in the working set of a process even if they are not in use. Eventually, when the total working set tends to exhaust the amount of physical memory, the operating system will be forced to trim the unused portions of working set until enough pages are made available to free up the memory pressure. This trimming of unused portions of the working sets will occur when the applications collectively need more physical memory than is available, a situation that requires the system to constantly page to maintain all the processes’ working sets.

    16. Alleviating Application Memory Bottlenecks Stop unnecessary processes from running in every session Disable unneeded services Increase the amount of system RAM boot.ini (/PAE) Memory optimization feature in Citrix Presentation Server 4.0 The /PAE switch in the boot.ini can be enabled to increase the physical memory on the server, this switch allows Windows Server 2003 to take advantage of the Physical Address Extensions (PAE) of x86 processors. Using the /PAE switch can be beneficial in situations where your servers are not kernel memory bound and the applications on your servers use large amounts of memory. The memory enabled with the /PAE switch will be allocated to the user space while the kernel will still be limited to 2GB, the total virtual memory address space does not change. There will also be a small kernel memory cost because the operating system needs to track this additional memory. Note, that the use of /PAE requires programmers to use the Address Windows Extensions (AWE) application programming interface (API) to take advantage of the memory. The /PAE switch in the boot.ini can be enabled to increase the physical memory on the server, this switch allows Windows Server 2003 to take advantage of the Physical Address Extensions (PAE) of x86 processors. Using the /PAE switch can be beneficial in situations where your servers are not kernel memory bound and the applications on your servers use large amounts of memory. The memory enabled with the /PAE switch will be allocated to the user space while the kernel will still be limited to 2GB, the total virtual memory address space does not change. There will also be a small kernel memory cost because the operating system needs to track this additional memory. Note, that the use of /PAE requires programmers to use the Address Windows Extensions (AWE) application programming interface (API) to take advantage of the memory.

    17. Virtual Memory Optimization Memory usage reduced by 15% when enabled More users in an application memory constrained environment Faster application load times

    18. Virtual Memory Optimization Reduced page file usage Less paging equals better performance Combats Windows copy-on-write

    19. Kernel Memory Bottleneck Counters used to identify bottlenecks in the kernel memory space Pageable Memory - Paged Pool Bytes Cache - Cache Read Hit % Non-Pageable Memory - Non-paged Pool Bytes Memory - Free System Page Table Entries Symptoms of a kernel memory bottleneck I/O response times increase Applications fail to launch Users are unable to login Kernel memory pools are sized when the server boots The size of the pools depend on the type of server, terminal server, workstation High Paged Pool usage triggers reclaim process for System Cache data structures which in turn degrades cache performance Kernel memory pools are sized when the server boots The size of the pools depend on the type of server, terminal server, workstation High Paged Pool usage triggers reclaim process for System Cache data structures which in turn degrades cache performance

    20. Kernel Memory Bottleneck

    21. Kernel Memory Bottleneck

    22. Alleviating Kernel Memory Bottlenecks Use the registry to change the size of the pools HKLM\System\CurrentControlSet\Control\SessionManager\MemoryManagement\SystemPages HKLM\System\CurrentControlSet\Control\SessionManager\MemoryManagement\PagedPoolSize Windows® Kernel Tuning Assistant http://www.microsoft.com/windows2000/techinfo/administration/terminal/loadscripts.asp Windows Server™ 2003 include kernel memory enhancements Windows Server 2003 x64 Edition

    23. Troubleshooting SSS Bottlenecks

    24. Troubleshooting SSS Bottlenecks

    25. Troubleshooting SSS Bottlenecks

    26. Troubleshooting SSS Bottlenecks

    27. What Is Going On?!? System analysis CPU was at 70% utilization and the PQL was averaging 15 Disk was at 50% utilization Available Memory dropped to zero and the operating system began to reclaim unused portions of the working set Pages Input/Output per second increased dramatically Large spike in Page File usage Based on the data the system encountered an application memory bottleneck By only looking at a piece of the data and not the entire picture we increase the risk of investing time and money while not fixing the problem 256-512 MB of memory should be allocated to the operating system Application requirements The goal is to have enough RAM to reach the threshold at the same time as the other subsystems If your not using raid, create the page file on a separate physical disk from the system partition. Create the page file so it is continuous and not fragmented. As physical ram is utilized the server begins to use the system page file. As more physical ram is used, page file activity increases, causing the disk subsystem to become overloaded. 256-512 MB of memory should be allocated to the operating system Application requirements The goal is to have enough RAM to reach the threshold at the same time as the other subsystems If your not using raid, create the page file on a separate physical disk from the system partition. Create the page file so it is continuous and not fragmented. As physical ram is utilized the server begins to use the system page file. As more physical ram is used, page file activity increases, causing the disk subsystem to become overloaded.

    28. Other Tuning Recommendations Page File Optimization 1.5 to 2.5 x physical memory (initial and maximum page file settings should be equal) Place page file on a dedicated partition on a separate disk Disk Optimization RAID cache controllers tuned to 50% read – 50% write Lessens impact of disk intensive processes (loading large profiles) RAM drives Eliminates I/O bottlenecks Network Optimization NIC teaming provides high bandwidth to resource servers Offload network overhead from the processor to the NIC with TOE capable network cards 256-512 MB of memory should be allocated to the operating system Application requirements The goal is to have enough RAM to reach the threshold at the same time as the other subsystems If your not using raid, create the page file on a separate physical disk from the system partition. Create the page file so it is continuous and not fragmented. As physical ram is utilized the server begins to use the system page file. As more physical ram is used, page file activity increases, causing the disk subsystem to become overloaded. 256-512 MB of memory should be allocated to the operating system Application requirements The goal is to have enough RAM to reach the threshold at the same time as the other subsystems If your not using raid, create the page file on a separate physical disk from the system partition. Create the page file so it is continuous and not fragmented. As physical ram is utilized the server begins to use the system page file. As more physical ram is used, page file activity increases, causing the disk subsystem to become overloaded.

    29. For 32-bit environments, dual-processor servers give the best performance Diminishing returns beyond two CPUs System generally runs out of kernel memory Non-linear scalability Scaling Servers Up Scalability tests conducted on a quad processor system show that capacity/performance does not scale linear as we increase the number of processors. When configured with a single processor the system was able to achieve 70 concurrent users before a processor bottleneck was achieved. With the same test when 2 processors were enable the system scaled to 126 users an 80% increase over the single processor system. With all 4 processors enable the system scaled to 160 users a 27% increase over the dual processor system. A reason for this non-linear scalability is a combination other bottlenecks such as the speed of the system bus, server disk subsystems, and operating system limitations. Based on these results a dual processor server will give the best single performance Scalability tests conducted on a quad processor system show that capacity/performance does not scale linear as we increase the number of processors. When configured with a single processor the system was able to achieve 70 concurrent users before a processor bottleneck was achieved. With the same test when 2 processors were enable the system scaled to 126 users an 80% increase over the single processor system. With all 4 processors enable the system scaled to 160 users a 27% increase over the dual processor system. A reason for this non-linear scalability is a combination other bottlenecks such as the speed of the system bus, server disk subsystems, and operating system limitations. Based on these results a dual processor server will give the best single performance

    30. What is x64 Bit Architecture? 64-bit extensions to the x86 instruction set Lets customers take advantage of their investment in 32-bit Windows applications, while also powering the latest 64-bit technology Can install existing 32-bit OS’s or 64-bit OS Common server workloads straining the limits of 32-bit x86 architecture Customers do not want to abandon the investment made in 32-bit x86 Windows Server 2003 x64 Editions provide a single platform that can run 64-bit applications and 32-bit applications at high performance Single binary version of Windows for x64 supports both AMD’s AMD64 and Intel’s EM64T architectures Common server workloads straining the limits of 32-bit x86 architecture Customers do not want to abandon the investment made in 32-bit x86 Windows Server 2003 x64 Editions provide a single platform that can run 64-bit applications and 32-bit applications at high performance Single binary version of Windows for x64 supports both AMD’s AMD64 and Intel’s EM64T architectures

    31. 64-Bit Technology 64-bit Processors Equal or better performance when compared to 32-bit processors at the same clock speed in a pure 32-bit environment No need to upgrade hardware when moving to 64-bit Windows Server 2003 64-bit operating system solves the following Increased scalability due to larger memory space Smoother transition to 64-bit apps when available 64-bit operating systems do not apply to the following Cases where scalability is limited by the CPU – Disk – Network 16-bit applications will not run Common server workloads straining the limits of 32-bit x86 architecture Customers do not want to abandon the investment made in 32-bit x86 Windows Server 2003 x64 Editions provide a single platform that can run 64-bit applications and 32-bit applications at high performance Single binary version of Windows for x64 supports both AMD’s AMD64 and Intel’s EM64T architectures IT Professionals increasingly rely upon industry-standard servers to run the majority of their business. 90% of all new server shipments are based on the industry-standard, 32-bit x86 architecture. As computing tasks have increased in complexity and volume, many common server workloads are straining the limits of 32-bit x86 architecture. IT Professionals are then required to deploy additional servers to meet their Service Level Agreements, increasing the costs of server administration At the same time, customers do not want to abandon the investment they’ve made in 32-bit x86 technology Broad investments include hardware, applications, administration skills, and development skills Windows Server 2003 x64 Editions gives these customers a single platform that can run new 64-bit applications, while continuing to run existing 32-bit applications at high performance Same familiar platform with expanded capabilities Common server workloads straining the limits of 32-bit x86 architecture Customers do not want to abandon the investment made in 32-bit x86 Windows Server 2003 x64 Editions provide a single platform that can run 64-bit applications and 32-bit applications at high performance Single binary version of Windows for x64 supports both AMD’s AMD64 and Intel’s EM64T architectures IT Professionals increasingly rely upon industry-standard servers to run the majority of their business. 90% of all new server shipments are based on the industry-standard, 32-bit x86 architecture. As computing tasks have increased in complexity and volume, many common server workloads are straining the limits of 32-bit x86 architecture. IT Professionals are then required to deploy additional servers to meet their Service Level Agreements, increasing the costs of server administration At the same time, customers do not want to abandon the investment they’ve made in 32-bit x86 technology Broad investments include hardware, applications, administration skills, and development skills Windows Server 2003 x64 Editions gives these customers a single platform that can run new 64-bit applications, while continuing to run existing 32-bit applications at high performance Same familiar platform with expanded capabilities

    32. 32-Bit Windows Constraints 64-bit Windows eliminates kernel memory limitations No reason to be memory bound in CPS environments 32-bit systems 32-bit= 2^32 bytes of memory= 4GB 4GB addressable memory is divided into: 2GB for User mode processes Every user mode process has its own 2GB of virtual memory 2GB for Kernel mode processes is shared between: System PTE, Page Pool, Non-Paged Pool, System Cache All processes and users must share the same kernel memory Adding more RAM does not increase the 2GB limiT Session count limitations Knowledge Worker (KW) Scenario – maximum 270 sessions Paged Pool/System PTEs exhaustion Highest consumption – thread kernel stacks Large amounts of physical memory use significant Kernel VA for system data structures Performance implications Cache performance degrade – Due to high paged pool usage Special hardware configurations further reduces amount of KM VA available Roughly 2 bytes of VA is lost for each byte of hot-swap memory 32-bit systems 32-bit= 2^32 bytes of memory= 4GB 4GB addressable memory is divided into: 2GB for User mode processes Every user mode process has its own 2GB of virtual memory 2GB for Kernel mode processes is shared between: System PTE, Page Pool, Non-Paged Pool, System Cache All processes and users must share the same kernel memory Adding more RAM does not increase the 2GB limiT Session count limitations Knowledge Worker (KW) Scenario – maximum 270 sessions Paged Pool/System PTEs exhaustion Highest consumption – thread kernel stacks Large amounts of physical memory use significant Kernel VA for system data structures Performance implications Cache performance degrade – Due to high paged pool usage Special hardware configurations further reduces amount of KM VA available Roughly 2 bytes of VA is lost for each byte of hot-swap memory

    33. 64-Bit – Leveraging Quad Servers Leverages the full power of quad systems 60% increase in users per server When using quad versus dual processor servers Ideally, doubling the processing power of a server would result in doubling the number of users the server could support. However, in 32-bit environments with the heavy user scripts, when processing power is doubled from two processors to four processors, the scalability bottleneck is transferred from the CPU to kernel memory. The heavy user test shows 18% more users can be supported on a quad processor server than a dual processors server with CPS 4.0 before running out of kernel memory. With 64-bit Windows, the CPU bottleneck seen in a dual processor server is also seen in a four processor server. The heavy user test shows 60% more users can be supported on a quad processor server than a dual processors server with CPS 4.0 x64 Edition before exhausting system resources. On the Citrix Presentation Server 4.0 the performance increase when up-scaling from one to two processors was 112%. Scaling from two to four processors led to a gain of 18%. Citrix Presentation Server x64 Edition showed a performance increase when up-scaling from one to two processors of 116%, and scaling from two to four processors led to a gain of 60%.Ideally, doubling the processing power of a server would result in doubling the number of users the server could support. However, in 32-bit environments with the heavy user scripts, when processing power is doubled from two processors to four processors, the scalability bottleneck is transferred from the CPU to kernel memory. The heavy user test shows 18% more users can be supported on a quad processor server than a dual processors server with CPS 4.0 before running out of kernel memory. With 64-bit Windows, the CPU bottleneck seen in a dual processor server is also seen in a four processor server. The heavy user test shows 60% more users can be supported on a quad processor server than a dual processors server with CPS 4.0 x64 Edition before exhausting system resources. On the Citrix Presentation Server 4.0 the performance increase when up-scaling from one to two processors was 112%. Scaling from two to four processors led to a gain of 18%. Citrix Presentation Server x64 Edition showed a performance increase when up-scaling from one to two processors of 116%, and scaling from two to four processors led to a gain of 60%.

    34. 64-Bit Memory Usage Address pointers of 64-bit systems are twice as wide Need to be prepared when upgrading to 64-bit

    35. Multi-Core Processors Scaling up was traditionally an expensive initial investment Non-linear price difference between dual processor servers and quad processor servers Multi-core processing technology bridges the gap Multi-core processors combine two physical processors and two L2 caches on the same die Multi-core processors are essentially a multi-processor system in a smaller package

    36. Multi-Core Processors Equal or better performance over traditional multi-processor servers!

    37. Single Server Scalability Conclusion Capacity Planning is unique to each environment Retest and re-evaluate whenever hardware or software changes Analyze and know your bottlenecks Things aren’t always what they seem! Windows Server x64 and Presentation Server 4.0 establish the foundation for supporting 64-bit Servers support both 32-bit and 64-bit OS Provide a smooth migration path to 64-bit technology Extends return on investment in 32-bit applications By following these guidelines you will Increase user capacity on Presentation Servers Sustain a better, more stable user environment Lower TCO

    38. Thank You

More Related