This section explains steps that you can take to ensure that AppDNA runs as effectively as possible. Citrix recommends that you perform all of these optimizations for a production system, particularly if you have a large portfolio of applications.
To improve the performance of SQL Server, first increase the amount of RAM on the server. Additional RAM compensates for slow hard disks.
By default, SQL Server consumes available memory. This can have a negative impact on other processes running at the same time as the memory-intensive AppDNA import and analysis tasks.
Citrix recommends that you define an upper limit for the amount of memory SQL Server has access to, allowing around 3-5 GB of RAM for the operating system. SQL Server also has a defined amount of memory it allocates for queries. Citrix recommends that you increase this value to allow SQL Server to use more RAM for complex queries so that they run faster.
To reduce the likelihood of deadlocks on the database during analysis, set the maximum degree of parallelism to 1 on the SQL Server instance.
By default, Windows is configured to manage the paging file. Citrix recommends that you retain that default setting. Verify or change the setting as follows.
The following diagram shows how various architectures for the SQL Server correspond to AppDNA performance.
Essentially, the more disk heads over which SQL Server can split the work, the faster it performs.
Allowing SQL Server to use RAW partitions also optimizes the use of the available heads in the disk. However, doing this gives exclusive control of the disk to SQL Server and makes it unusable for normal usage in Windows and may lead to loss of any existing data on the drive.
AppDNA performs a large number of SQL queries in its analysis of an application portfolio. With larger databases, this can consume a significant amount of hard disk space if all transactions are logged in a "full" recovery model because the SQL log file continues to grow until the database is backed up.
Citrix recommends that you use the "simple" recovery model for the tempdb and AppDNA databases for a significantly reduced database size during processing and analysis.
For more information, see Recovery Models (SQL Server).
AppDNA does not use the full-text indexing function of SQL Server. In some versions of SQL Server you can disable it on the AppDNA database to improve performance.
Although the AppDNA installer and the Configure AppDNA Environment wizard attempt to optimize IIS, sometimes that is not possible or the settings are subsequently changed. Citrix recommends that you optimize IIS as described in this section.
A maximum allowed content length setting that is too low can prevent the import of larger applications and operating system images. To increase the limit:
By default, IIS is configured with time-out values that are generally too low for use with AppDNA. In particular, the Recycle settings can result in AppDNA tasks terminating before they complete because they have run for too long. This problem occurs particularly for larger application portfolios. To configure the settings:
|Managed Pipeline Mode||Classic|
|Idle Time-out (Minutes)||0|
|Regular Time Interval (Minutes)||0|
On-access anti-virus scanning adversely affects the performance of AppDNA, SQL Server, and IIS. Citrix recommends that you exclude the following folders from on-access anti-virus scanning to ensure that AppDNA runs as efficiently as possible.
To import applications into AppDNA you use application installation packages. The many variables that affect import performance include application size, external files, network bandwidth, and physical network connectivity and capability.
To ensure that importing applications into AppDNA is carried out in the quickest and most efficient way, Citrix recommends that you store application installation files local to the AppDNA import client. Ideally they should be on a separate physical disk from the AppDNA and temporary databases.
Although you can import application installation files over the local area network, that can cause delays in the import process and might result in failed imports or import warnings.