Improving Performance

Learn to improve performance.

Check the content expiration of the following directories: .. \images, .. \scripts, and .. \styles, see Content Expiration.

If you encounter performance problems with the Rep Picker, see Number of Visible Reps.

If you encounter general performance issues, you can use the SQL Server Profiler for performance analyzing or appropriate Oracle Tools (server-sided traces or the Oracle Tuning and Option Pack).

Alternatively, you can enable the Web Trace in the Aurea CRM win Rights module.

Aurea CRM web then writes additional log messages containing the database statements into the web.log file. Logging the database statements reduces the application's performance, therefore, clear the Web Trace option after the analyzing process.

Improving performance of the calendar

If for organizational reasons you cannot set the Calendar.ActivitiesAlwaysHaveEnd and Calendar.AbsencesAlwaysHaveEnd web configuration parameters to true create a combined index on the DB columns Datum and Endedatum.

CREATE INDEX {indexname}
   ON {tablename} (Datum, Endedatum) 


See the documentation of your database for further details.

Running Aurea CRM web in a Windows Server Network Load Balancing Cluster

There are various hard- and software based means to build up web farms. If you are running the application on Windows Server, consider using the Windows Server Network Load Balancing, offered by Microsoft as part of the Windows Server operating system family.

For details on Network Load Balancing, see http://technet.microsoft.com/en-us/library/hh831698.aspx.

To run Aurea CRM web in a Windows Server Network Load Balancing Cluster, you must:

  • Change the machineKey element in machine.config file
  • Define a StateServer or SQL Server in the web.config file.

In the machine.config file, change the validationKey and the decryptionKey attributes of the machineKey element and provide keys for validation and encryption/decryption of the view state.

In a default installation of the Microsoft.NET Framework you find the machine.config file under c:\%WINDIR%\Microsoft.NET\Framework\v4.0.30319\CONFIG.

For further information, see http://msdn.microsoft.com/en-us/library/w8h3skw9(v=vs.100).aspx.

The value of validationKey must be manually set to ensure a consistent configuration across a network of a web farm. decryptionKey is used for form authentication encryption and decryption and for view state encryption when validation is 3DES.

You can find a <machineKey> generator at http://aspnetresources.com/tools/machineKey. This is an online tool for creating keys for view state validation and encryption.

Example:
<machineKey
   validationKey="9441C18D5B8069B38180CA289B53FF6568AB5EEBB987A7F7
B88923127BD8BCCAC2DA174E86D2B9E6F9D4B89AA2E37BE0AB0482FBF6595B42A5516F45C9E6C7F0"
   decryptionKey="5352DD79A88B194B645F2E6B3099D2DEA20EF351C45A0F72"
   validation="SHA1"/>

If Aurea CRM web is running in a load balancing scenario you have to ensure that all requests of a session are handled by the same host in the cluster ("Session Affinity"). In other words: the load balancing server has to assure that all connections that are part of the same client session are handled by the same host in the cluster.

In a Windows Server Network Load Balancing Cluster you need to enable client affinity (in the Port Rules) by setting Affinity to "Single".

Note: Running Aurea CRM web in a web garden (multiple worker processes for one application pool) is not supported.

Improving Data Transfer Rate between IIS and the Web Browser

For further information, see http://technet.microsoft.com/en-us/library/cc730629(v=WS.10).aspx.

IIS supports HTTP compression, allowing for faster data transfer to the browser by compressing the data before sending it. The browser automatically decompresses the data on reception. However, consider the following factors before implementing it on your web server.

  • You can set compression for static or dynamic content.
    • Static content is considered to be text based files which are modified infrequently. These files are compressed once and stored on the server until requested. If they are modified, IIS compresses the new version and store it.
    • Dynamic content are script files that return varying content when they are requested. Dynamic content is compressed every time the file is generated and then sent to the browser. No copy is stored on server.

    We recommend using HTTP compression for static files only, unless the clients are using a network connection with restricted bandwidth (e.g. a mobile network).

  • CPU Usage

    If CPU usage on client and server is already very high (approx 80% to 100%) during normal execution, compression is not recommended, as it is CPU intensive and is not improve performance.

    If the server CPU is high, but the client CPU is low, compress static content, but test and monitor it to check its effectiveness.

    For further details on HTTP compression and monitoring techniques, see http://technet.microsoft.com/en-us/library/cc778828(v=WS.10).aspx.

  • Compression is enabled for all web sites of a particular IIS installation.

    If other websites are running on the IIS installation, it is possible that compression can cause performance problems. Check the impact of compression on these web sites before implementation.