Wilco van Bragt - LinkeIn Wilco van Bragt - Twitter rssa 

Performance of CPS based on Citrix Provisioning Server

Introduction

One of the most asked question about Citrix Provisioning Server (formerly known as Ardence OS Streaming is about the performance of the system which are running with a streamed operating system.

One of my customers would like to use (at that time still named) Ardence OS Streaming for their Citrix Presentation Server. Main reasons were to guarantee that all servers (in the same silo) were 100% identical and maintaining and updating the servers becomes easier. Although they really liked the concept they would see practical results about the performance. So during the Proof of Concept were we logically tested much more options and requirements for the environment we did also a comparison load test. In the load test we fired the same scripts on a server installed the traditional physical way and one server based on Ardence OS Streaming.




After all the questions I thought it is good idea to share these results to the community as a reference case, so the performance question can be answered by referring to this practical results. Because the tests are done before the renaming of the product I still will use the same Ardence in stead of Citrix Provisioning Server. Nevertheless there are no changes made to product that will influence the tests the results will be comparable on the new version now called Citrix Provisioning Server.

The load test environment

Citrix Presentation Servers

The load test was performed on two identical physical servers based on the HP DL360G5 with the following specifications:

  • 2x Dual Core 3 Ghz processors
  • 4 GB Internal Memory
  • 2x 36 GB Disks 15000 rpm RAID 1 set (traditional server only)
  • 2x 72 GB Disks 15000 rpm RAID 1 set
  • RAID controller with battery pack

The servers were running on Windows 2003 SP1 (with the latest security fixes at that moment), Citrix Presentation Server 4.0 HRP2, RES PowerFuse 7.03, SoftGrid Client for Terminal Servers 4.1 and Microsoft Office 2007.

On the traditional server this installed using a semi-automated installation method. The 2x 36 GB RAID 1 set is used for hosting the operating system, all the applications and the profiles. The second 2x 72 GB RAID 1 set is used for the SoftGrid cache and the page file.

The server using the streamed operating system is using a VDisk based on the exactly the same semi-automated installation, so also based on Windows 2003 SP1 (with the latest security fixes at that moment), Citrix Presentation Server 4.0 HRP2, RES PowerFuse 7.03, SoftGrid Client for Terminal Servers 4.1 and Microsoft Office 2007. The VDisk has a total size of 30 GB hosted on "local" disk of the Ardence Server. The 2 x 72 GB disk is used to host the SoftGrid cache, the pagefile and the Ardence cache. In other words we used the Write Cache located on the client hard disk.

Both servers were in the same Farm so sharing the same set of configuration settings and Citrix policies. Also the servers were place in the same OU in Active Directory and thus receiving the same GPO's.

Ardence Server

The test was performed by using one Ardence Server available as virtualized server on VMWare ESX 3.0. The Ardence server has the following specifications:

  • Virtual VMWare ESX
  • Single CPU
  • 512 MB Internal Memory
  • 10 GB Disk
  • 60 GB Disk

The server was running on Windows 2003 SP1 with Ardence OS Streaming 4.1 SP1. The 10 GB Disk was used for hosting the operating system, where the 60 GB disk is hosting the VDisks.

Clients

During the load test a total of 10 clients were used. Those client were also hosted on the same VMWare ESX 3.0 server as the above mentioned Ardence server with the following specifications:

  • Virtual VMware ESX
  • Single CPU
  • 512 MB Internal Memory
  • 4 GB Disk

The clients were running Windows XP SP1 and the Citrix ICA Client 9.150.

Other supporting systems

Logically other supporting systems were also like Microsoft Active Directory, a Microsoft SQL server hosting the Citrix datastore and summary database, a file server for hosting the PowerFuse configuration, User Home Drivers and the Script Structure used for personalizing the Citrix Presentations running on Ardence OS Streaming (see for more information my white paper about running CPS on Ardence OS Streaming). All these servers were also running on the VMWare ESX server. This server was based on a HP DL380G4 running with 16 GB Internal Memory, storage of the VMWare disk on a HP EVA based SAN and a two NIC connected to the local network both hosting a separated VLAN (A Client VLAN and a Server VLAN

Because of this limited physical hardware availability and limited connectivity of the VMWare server we agreed that this will represent an Ardence Server with more servers running the streamed Operating system.

Image
Figure 1: Infrastructure overview

Users and Profiles

Within Active Directory a total of 60 load test users were created. Those users had their home drives on the virtualized file server connected via AD properties as the Terminal Server Home Directory. The users were using a mandatory profile located on the local disk of the Citrix Presentation Server. Because PowerFuse was used the user did not have a logon script. User Policies and Application settings are all applied using RES PowerFuse.

Test Procedure and Measuring Methods

The test was performed by using Denamik LoadGen. On the client the Denamik client component was installed possible of starting 10 ICA sessions. The above mentioned users were created using Denamik LoadGen.  Within Denamik LoadGen the session was launched for the users based on several conditions like the amount of simultaneous users logging on and the time before a new group of users will connect to the server. At the test results these parameters are mentioned. Denamik LoadGen started a Full Citrix in which PowerFuse is started. Within PowerFuse a startup job was created which started a WinBatch script.

This WinBatch script carries out the following automated usage of the system:

  • Starting Excel and performing a few calculations;
  • Starting Word and typing 25 lines of text;
  • Starting Powerpoint and create 2 slides of a presentation;

Denamik LoadGen monitors the time necessary for starting up the sessions and when the logon is finished. This is displayed in seconds. Within the WinBatch script a timer was added recording how long a component of this script runs. This is not based on seconds but just a counter. Both LoadGen as the WinBatch scripter wrote the results in a CSV file which was imported in excel to determine the minimum time, the maximum time and the average of the several monitored actions.

Results

Based on above mentioned script and infrastructure several tests with deviations in the amount of users and time between new sessions were performed.

The first test was with a total of 30 users. With these 30 users 5 simultaneous logons were performed. After these 5 sessions LoadGen waited 5 seconds and then started again 5 user logons. Comparing the times for building, connecting to the session and the user logon you will notice that both the minimum and maximum times for the physical installed server are higher than the Ardence based server, while the averages shows that the results are almost the same. Taking a look at the application usage timers you will see that the winners of minimum and (lowest) maximum times are divided between the two servers. However the application usage is quicker than the usage on the traditional server. Except for starting Word, the averages are better for the server running with the streamed operating system. The argumentation is that the behavior is caused by the local disk performance.

Totals Physical 30 Users

 

 

 

Phase

Min Time

Max Time

Average

LoadBot initializing

0,027

0,151

0,043

Building Citrix session

0,041

0,248

0,062

Connecting Citrix Session

0,511

1,867

0,854

User logon

2,129

4,350

3,046

Finished Logon

2,143

4,366

3,064

Starting & Using Excel

648,000

2454,000

1471,407

Starting Word

551,000

706,000

633,741

Using Word

23881,000

34606,000

27988,963

Starting & Using Powerpoint

642,000

1278,000

1278,000

Total Session

25829,000

31372,111

31372,111

 

 

 

 

Totals Ardence 30 Users

 

 

 

Phase

Min Time

Max Time

Average

LoadBot initializing

0,031

0,062

0,034

Building Citrix session

0,046

0,077

0,051

Connecting Citrix Session

0,482

1,076

0,783

User logon

1,699

4,023

3,059

Finished Logon

1,731

4,039

3,080

Starting & Using Excel

650,000

2509,000

1260,462

Starting Word

579,000

721,000

643,962

Using Word

22033,000

30795,000

26425,308

Starting & Using Powerpoint

651,000

1707,000

1027,192

Total Session

24254,000

34019,000

29356,923

Figure 2: Performance results with 30 users

The second test was based on 45 users. LoadGen started 4 simultaneous logon sessions, waited 20 seconds and started again 4 sessions till the total 45 sessions was reached. If we look again at the time to start the Citrix session it is noticeable that the physical installed server has most times the lowest and maximum times, but average the two systems are still close to each other with 2 tenths of seconds of deviation in advantage of the physical installed server.

The application usage timers are pretty close the same on the servers, although averaged the Citrix Ardence based server is performing better.

Totals Physical 45 Users

 

 

 

Phase

Min Time

Max Time

Average

LoadBot initializing

0,015

0,062

0,030

Building Citrix session

0,031

0,093

0,045

Connecting Citrix Session

0,515

1,155

0,711

User logon

2,734

5,342

3,711

Finished

2,750

5,358

3,727

Starting & Using Excel

645,000

2524,000

1585,889

Starting Word

539,000

706,000

630,711

Using Word

21588,000

33106,000

27751,333

Starting & Using Powerpoint

642,000

1811,000

1138,622

Total Session

23625,000

37497,000

31106,556

 

 

 

 

Totals Ardence 45 Users

 

 

 

Phase

Min Time

Max Time

Average

LoadBot initializing

0,015

0,359

0,041

Building Citrix session

0,031

0,390

0,058

Connecting Citrix Session

0,437

1,187

0,587

User logon

2,797

6,215

3,972

Finished

2,812

6,231

3,988

Starting & Using Excel

671,000

2678,000

1460,822

Starting Word

523,000

700,000

609,200

Using Word

23226,000

35873,000

27836,044

Starting & Using Powerpoint

641,000

2179,000

1171,022

Total Session

25420,000

39211,000

31077,089

Figure 3: Performance results with 45 users.

The same test is performed again with 55 users with the same amount of simultaneous logons and wait time for starting new sessions. The results are comparable with the 45 users test. Again both logon times as the application usage were again close to each other with marginal differences.

To find the end of capacity of the server we performed the same test with a total of 60 users. Again 4 logons were started simultaneously, with 20 seconds between the next four new logons. With this test we really stressed the server. On both server the maximum times/timers and averages increased significant.

However striking was the big difference between the averages of the servers. The averages of the Ardence server were much higher than the physical machine. Investigating all the log files we saw that the logon times were increasing around user 53 and from user 57 the logon times reaches about 30 seconds on the Ardence OS Streaming server. Logically also the users which were still running the application test noticed slowness of the system, so expectation was that the server was overwhelmed at that moment. On the physical installed machine the increase started at user 57. To check our outcomes we run this test again and the same results were there on both system. We increased the amount of users to 65 users and run the test again on the physical installed server. Now the results were comparable, because after user 60 also the logon time increased dramatically around 30 seconds per users and also the application times increased, so the server was overwhelmed. Therefore we run another test with 65 users logging on only but now with a long interval from 2 minutes. Both machines shows about the same results with a maximum of 13 seconds for user logon with an average of 7 seconds. Although we did not find an explanation for the behavior (maybe it is caused by running the Ardence server on VMWare ESX) the conclusion is that a physical machine can handle a few more users during a very high peak level.

Conclusion

The performed tests are not comparable with normal situations within Server Based Computing environments. Normally the amount of simultaneous logons will be lower and times between logons request will be more divided. However these tests show the performance differences between running a Citrix Presentation server installed traditionally and a server running with an Operating System streamed via Ardence. The conclusion is that the performance between a physically installed server and an Ardence bases server are really comparable to each other. With fewer users the application usage performance is quicker with an Ardence based server, but adding more users the results are getting closer.

The results of the tests were as expected. Because practical network throughput is comparable (or higher) than the practical average disk performance Ardence OS Streaming can result in better performance (mainly noticeable when using application. Because of the limited test environment with lots essentials components running on VMWare ESX we figured out that the practical throughput would be comparable.

Summarized the performance of an system running with Ardence OS Streaming is comparable (and sometimes better) in comparison with a traditional installed system, so performance should not be an issue when using OS streaming.

Disclaimer:
This information and related graphics are provided "as is" without warranty of any kind. VanBragt.Net SBC Centre hereby disclaims all warranties and conditions with regards to this information and related graphics. No rights can be made to these results in this article; you are responsible for performing a comparable test at your environment/customer before building up a production environment.