Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • If possible, separate Operating system files and EngageIP billing files (program folders or database files) onto different physical hard drives (unless you're using a RAID configuration)

  • Ensure that there is enough RAM on the server for processes. RAM is usually easy to increase on servers and provides a tangible performance increase. If there are is only a small amount of free RAM on the server, consider increasing the RAM so that the system has a 'fair amount' of free RAM available for any periods of high activity (processing spikes)

    • If there are further questions about whether there is enough RAM on the server, please consult LogiSense Customer Care for suggestions and assistanceLogiSense Support   email: support@logisense.comweb: Live Supportphone (Canada): 1-519-249-0508 •phone (USA): 1-917-410-3584

  • Ensure that the server(s) are only runing running EngageIP and that there are no other processes taking up CPU / RAM / IO from hard drives. Processes unrelated to EngageIP can leach performance from EngageIP, therefore it is recommended that EngageIP servers (web and SQL) are dedicated to run the EngageIP platform alone

  • Check for Windows Event Log errors that may indicate a problem on the server which may impact performance

  • Check that the connection method between SQL and web servers is based on IP address. In some cases using host names can slow communication if the hostname needs to be resolved each time. A slow/busy DNS server can also be the cause of performance issues when a hostname is used instead of an IP

  • Create SQL maintenance plan (as described below) to keep SQL running at peak performance

  • Add OFF server and OFF site backup systems or drives in case of hard drive or file corruption or damage. Some examples are as follows:

    • External USB drives

    • Network backup servers

    • Mirrored / Clustered SQL services

...

  1. Setup SQL server maintenance plan to index, backup, and check integrity weekly or twice a week, whichever is desired. The databases for EngageIP 8 include (though all may not be installed): BOSS, BOSSCollector, BOSSRate (usually this db is not present) and EngageIP Master

    Image Modified

...

  1. Setup Microsoft Backup to keep weekly backups of EngageIP Billing folder, etc. that may need backing up. This is located in 'Programs / Accessories / System Tools / Backup'

    Image Modified

...

  1. Perform analysis of system performance including hard drive space and RAM

    1. Ensure that SQL is setup optimally for use of RAM, CPU attenuation, overall integrity of SQL installation. Maximum server memory should be set to 90% of available RAM, minimum server memory should be set to 80% of available RAM. A minimum of 2GB should be left for the operating

...

    1. system

      Image Modified

    2. Review running applications and tasks on the server to ensure they are not interfering with EngageIP (e.g. anti virus, scheduled tasks, etc.). For example, ensure that real-time virus scanning is not configured to scan the EngageIP Billing folders as files may need to be read or written to as part of regular processes, antivirus real-time protection may inhibit this action

...

  1. Perform analysis of SQL Server CPU Configuration

    1. Set the "max degree of parallelism" SQL Server can use for a parallel query to 50% of available CPU Cores

    2. Increase the default "cost threshold for parallelism" from 5 to 20

...

  1. Perform an analysis of the SQL Server tempdb Configuration

    1. Ensure that the tempdb files are multiplexed. A good rule of thumb is one tempdb file for every two CPU cores up to eight tempdb files. Beyond eight tempdb files brings limited benefits

    2. All tempdb files should be the same size after a system start. Tempdb files will individually grow in size to the maximum transaction size. Ensure there is sufficient disk space to allow this growth to happen

Real-Time Database Indexing

...

  1. Open Query Analyzer or  a new query in SQL 2005

  2. Paste the following code
    The below indexes the WHOLE database including usage table

    Code Block
    USE BOSS --Enter the name of the database you want to reindex
    DECLARE @TableName VARCHAR(255)
    DECLARE TableCursor CURSOR FOR
    SELECT TABLE_NAME FROM information_schema.tables
    WHERE table_type = 'base table'
    OPEN TableCursor
    FETCH NEXT FROM TableCursor INTO @TableName
    WHILE @@FETCH_STATUS = 0
    BEGIN
    DBCC DBREINDEX(@TableName,' ',90)
    FETCH NEXT FROM TableCursor INTO @TableName
    END


    The below index script skips the usage tables so as to shorten the run time and index the critical GUI critical tables

    Code Block
    DECLARE @sql NVARCHAR(500)
    DECLARE @TableName varchar(255)
    DECLARE @Message varchar(255)
    DECLARE @fillfactor INT
    SET @fillfactor = 80
    DECLARE TableCursor CURSOR FOR
    SELECT table_name FROM information_schema.tables
    WHERE table_type = 'base table'
    OPEN TableCursor
    FETCH NEXT FROM TableCursor INTO @TableName
    WHILE @@FETCH_STATUS = 0
    BEGIN
    SET @Message = 'Starting ... '+ @TableName
    IF (CHARINDEX('CDR',@TableName) <>0 OR CHARINDEX('Log',@TableName) <>0 OR CHARINDEX('UDR',@TableName) <>0)
    BEGIN
    SET @Message = 'Skipping '+ @TableName
    RAISERROR (@Message , 0, 1) WITH NOWAIT;
    END
    ELSE
    BEGIN
    RAISERROR (@Message, 0, 1) WITH NOWAIT;
    SET @sql = 'ALTER INDEX ALL ON [' + @TableName + '] REBUILD WITH (FILLFACTOR = ' + CONVERT(VARCHAR(3),@fillfactor) + ')'
    EXEC (@sql)
    END
    SET @Message = 'Done ... '+ @TableName
    RAISERROR (@Message , 0, 1) WITH NOWAIT;
    FETCH NEXT FROM TableCursor INTO @TableName
    END
    CLOSE TableCursor
    DEALLOCATE TableCursor
    EXEC sp_updatestats

...

  1. Update the reference of the database (in this case it reads 'BOSS')

...

  1. Click Execute

...

  1. Wait for it to finish, then you can close the window

Database Backup Process

For MSSQL 2014, see this article: http://msdn.microsoft.com/en-us/library/ms187510.aspx

...