Product Documentation

Scalability Considerations

Oct 09, 2015

Installing and running SmartAuditor requires few additional resources beyond what is necessary to run XenApp. However, if you plan to use SmartAuditor to record a large number of sessions or if the sessions you plan to record will result in large session files (for example, graphically intense applications), consider the performance of your system when planning your SmartAuditor deployment.

Hardware Recommendations

Consider how much data you will be sending to each SmartAuditor Server and how quickly the servers can process and store this data. The rate at which your system can store incoming data must be higher than the data input rate.

To estimate your data input rate, multiply the number of sessions recorded by the average size of each recorded session and divide by the period of time for which you are recording sessions. For example, you might record 5,000 Microsoft Outlook sessions of 20MB each over an 8-hour work day. In this case, the data input rate is approximately 3.5MBps. (5,000 sessions times 20MB divided by 8 hours, divided by 3,600 seconds per hour.)

You can improve performance by optimizing the performance of a single SmartAuditor Server or by installing multiple SmartAuditor Servers on different computers.

Disk and Storage Hardware

Disk and storage hardware are the most important factors to consider when planning a SmartAuditor deployment. The write performance of your storage solution is especially important. The faster data can be written to disk, the higher the performance of the system overall.

Storage solutions suitable for use with SmartAuditor include a set of local disks controlled as RAID arrays by a local disk controller or by an attached Storage Area Network (SAN).

Note: SmartAuditor should not be used with Network-Attached Storage (NAS), due to performance and security problems associated with writing recording data to a network drive.

For a local drive set up, a disk controller with built-in cache memory enhances performance. A caching disk controller must have a battery backup facility to ensure data integrity in case of a power failure.

Network Capacity

A 100Mbps network link is suitable for connecting a SmartAuditor Server. A gigabit Ethernet connection may improve performance, but does not result in 10 times greater performance than a 100Mbps link.

Ensure that network switches used by SmartAuditor are not shared with third-party applications that may compete for available network bandwidth. Ideally, network switches are dedicated for use with the SmartAuditor Server.

Computer Processing Capacity

Consider the following specification for the computer on which a SmartAuditor Server is installed:

  • A dual CPU or dual-core CPU is recommended
  • A 64-bit processor architecture is recommended, but an x86 processor type is also suitable
  • 2GB to 4GB of RAM is recommended

Exceeding these specifications does not significantly improve performance.

Deploying Multiple SmartAuditor Servers

If a single SmartAuditor Server does not meet your performance needs, you can install more SmartAuditor Servers on different computers. In this type of deployment, each SmartAuditor Server has its own dedicated storage, network switches, and database. To distribute the load, point the SmartAuditor Agents in your deployment to different SmartAuditor Servers.

Database Scalability

The SmartAuditor Database requires Microsoft SQL Server 2005 or Microsoft SQL Server 2008. The volume of data sent to the database is very small because the database stores only metadata about the recorded sessions. The files of the recorded sessions themselves are written to a separate disk. Typically, each recorded session requires only about 1KB of space in the database, unless the SmartAuditor Event API is used to insert searchable events into the session.

The Express Editions of Microsoft SQL Server 2005 and Microsoft SQL Server 2008 imposes a database size limitation of 4GB. At 1KB per recording session, the database can catalog about four million sessions. Other editions of Microsoft SQL Server have no database size restrictions and are limited only by available disk space. As the number of sessions in the database increases, performance of the database and speed of searches diminishes only negligibly.

If you are not making customizations through the SmartAuditor Event API, each recorded session generates four database transactions: two when recording starts, one when the user logs onto the session being recorded, and one when recording ends. If you used the SmartAuditor Event API to customize sessions, each searchable event recorded generates one transaction. Because even the most basic database deployment can handle hundreds of transactions per second, the processing load on the database is unlikely to be stressed. The impact is light enough that the SmartAuditor Database can run on the same SQL Server as other databases, including the XenApp data store database.

If your SmartAuditor deployment requires many millions of recorded sessions to be cataloged in the database, follow Microsoft guidelines for SQL Server scalability.