Tuning the Performance of the Notification Engine

CRM.Web server administrators can limit the number of concurrent database sessions started by the Notification engine.

This helps improve the performance of the Notification engine when a number of users are working with CRM.Web at the same time.

The following configuration parameters can be set in the settings.xml file under the NHibernateSettings node of the update.NotificationEngine plugin configuration in the update.server section:

  • SessionPoolLimit (default value is 16) - set the maximum number of NHibernate sessions in the Notification Engine. Increasing this value does allow Notification Engine to perform faster when many users are working with CRM.web at the same time. The minimum valid value is 1.
  • SessionTimeout (default value is 30000 milliseconds) - set the time for which the NHibernate session can be idle.

The following sample configuration shows the concurrency settings for the Notification engine in the settings.xml file:

<!-- settings of update.server -->
<update.server>
    <!--
    PlugIns:
    A list plugin assembly that will be loaded by update.sever.
    The order of this list matters!
    -->
    <PlugIns>
        <... skipped ...>
        <PlugIn type="update.Web.NotificationsEnginePlugIn,update.Web" >
        <... skipped ...>
            <NHibernateSettings>
                <SessionPoolLimit>10</SessionPoolLimit>
                <SessionTimeout>30000</SessionTimeout>
            </NHibernateSettings>
        </PlugIn>
    </PlugIns>
</update.server>