Performance of CPS based on Citrix Provisioning Server
- Details
- Published: Tuesday, 20 November 2007
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.
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.