Optimize AppDNA

Aug 14, 2017

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.

Optimize SQL Server

To improve the performance of SQL Server, first increase the amount of RAM on the server. Additional RAM compensates for slow hard disks.

Maximum server memory and minimum memory per query

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.

  1. Open SQL Server Management Studio.
  2. Right-click the SQL Server instance and choose Properties.
  3. In the Server Properties dialog box, click Memory.
  4. Set Maximum server memory (in MB) to an appropriate value for your environment.
  5. Set Minimum memory per query (in KB) to 2048.

Maximum degree of parallelism

To reduce the likelihood of deadlocks on the database during analysis, set the maximum degree of parallelism to 1 on the SQL Server instance.

  1. Open SQL Server Management Studio.
  2. Right-click the SQL Server instance and choose Properties.
  3. In the Server Properties dialog box, click Advanced.
  4. On the Advanced page, set Max Degree of Parallelism to 1.

Windows swap file management

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.

  1. In Windows, go to View advanced system settings.
  2. In the System Properties dialog box, click the Advanced tab.
  3. Under Performance, click Settings.
  4. In the Performance Options dialog box, click the Advanced tab.
  5. Under Virtual Memory, click Change.
  6. In the Virtual Memory dialog box, select the Automatically manage paging file size check box for all drives option or select System managed for each drive.

Hard disk optimizations

  • Have as many files as possible in the file groups that make up the database.
  • Put the collection of files on separate physical drives that are not system drives.
  • Use smaller, faster hard disks in preference to larger, slow disks.
  • If possible, move the master and temp database files to separate dedicated physical disks.
  • Ensure there is at least 30GB available on the disk on which the tempdb database is located.

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 database recovery model

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.

Important: To avoid disk space issues if you use a “full” recovery model, set up a SQL Server maintenance schedule to take regular backups of the AppDNA database.

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.

  1. Open SQL Server Management Studio.
  2. Expand Databases > System Databases.
  3. Right-click the database and choose Properties.
  4. In the Properties dialog box, click Options.
  5. From Recovery Model, choose Simple.

For more information, see Recovery Models (SQL Server).

Full-text indexing

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.

  1. Open SQL Server Management Studio.
  2. Right-click the AppDNA database and choose Properties.
  3. In the Database Properties dialog box, click Files.
  4. On the Files page, clear the Use full-text indexing check box.

Optimize IIS

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.

Maximum allowed content length

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:

  1. Close AppDNA and all AppDNA clients.
  2. Open Internet Information Services (IIS) Manager.
  3. Expand the tree under IIS and click the AppDNA site.
  4. In the center pane, double-click Request Filtering.
  5. Under Actions, click Edit Feature Settings.
  6. In the Edit Request Filtering Settings dialog box, set Maximum allowed content length to 2147483648 and then click OK.
  7. Reset IIS: In the tree, click the AppDNA site and then click Restart.

IIS timeouts and recycle settings

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:

  1. Open Internet Information Services (IIS) Manager.
  2. Expand the tree and click Application Pools.
  3. In the Application Pools list, click AppDNAAppPool.
  4. Under Actions, click Advanced Settings.
  5. In the Advanced Settings dialog box, set the following options and then click OK. | Option | Setting | | ——————————- | ——- | | Managed Pipeline Mode | Classic | | Idle Time-out (Minutes) | 0 | | Ping Enabled | False | | Regular Time Interval (Minutes) | 0 |
  6. With the AppDNAAppPool still selected, click Recycling under Actions.
  7. Clear the Regular time intervals (in minutes) check box and then click Next and Finish.
  8. Reset IIS: In the tree, click the AppDNA site and then click Restart.

Optimize anti-virus settings

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.

  • AppDNA program and data folders
  • Application installation package folders (if local)
  • IIS Web site folders
  • SQL Server database folders
  • Temporary locations
  • Windows\WoWx64

Optimize application imports

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.