Server Health and Performance Monitoring


Optimal Performance Guidelines

It is the customer's responsibility to maintain the CardioLog application server and database health, including software and hardware upgrades. 

To ensure optimal operation, please follow these guidelines:

  1. Install the CardioLog application and database on dedicated servers that meet the recommended hardware and software requirements.
  2. Upgrade the product to the latest version. To find out what is your product version, go to Administration > Product License.
  3. Monitor the operating system and database.
  4. Schedule all CardioLog service jobs to execute off-peak hours, while no other system job is running (for example: system backup, SharePoint search crawl etc.). By default all CardioLog service jobs are scheduled to run every day at midnight, except Usage Data Processing which runs every hour.
  5. Configure email alerts for scheduled services and event collection thresholds that will be sent to the system administrator.
  6. Execute this script against the CardioLog database to learn about your current database size, the amount of usage data that you have, index fragmentation rates and more.
  7. Reorganize and rebuild database indexes with high fragmentation rates.
  8. Archive history data to free up disk space on the database.
  9. Delete unused reports and optimize existing reports. You can execute this script against the CardioLog database to retrieve a list of all reports in your system, with the following details: report path, report name, schedule type, owner, number of widgets, website item filter and date range filter. 

Monitoring the Operating System and Database

  1. Monitor the IIS service and the CardioLog services (CardioLog Scheduling Service and CardioLog Diagnostics Service).
  2. Monitor the server performance (CPU and memory usage).
  3. Monitor the Logs directory size (log files growth is restricted to 8MB each).
  4. Monitor the database size - a rough growth estimation is 5GB of storage per 1,000,000 page views. See the database sizing formula in order to allocate enough storage.
  5. Monitor the SQL database services.

Backup Policy

Database Backup

  1. The CardioLog database is updated on a daily basis. The database recovery model should be set to "simple" due to its update behavior. Do not change the CardioLog recovery model.
  2. A full database backup should be taken before the nightly processes run (verify the nightly processing schedule). In order to backup the CardioLog database, schedule the following command:

Backup database cardiolog to disk ='<Path>\cardiolog.bak'

It is the customer's responsibility to keep the CardioLog database backup in a safe location. For more information about the database backup procedure please consult your local DBA or Intlock support.

Application Backup

Backup the CardioLog installation directory after every software update.

Database Maintenance

Index Maintenance

  1. Creating and dropping Indexes:

    Creating or dropping indexes from the CardioLog database is prohibited. Please consult Intlock support if a DROP or CREATE operation is needed.

  2. Rebuilding Indexes:

    Rebuild can be performed manually (consult your local DBA about index rebuild), with the following considerations taken into account:
    • Index rebuild can affect the reporting performance.
    • Index rebuild should be done after the automated nightly processes have run.

To ensure optimal operation, it is recommended to:

    • Rebuild indexes with average fragmentation over 30% (with ONLINE = ON), and reorganize when between 5% to 30%
    • Reorganize indexes once a day during off-peak hours
    • Rebuild indexes once a week during off-peak hours (no need to reorganize at that day)
    • No need to rebuild indexes on partitioned tables from previous months (table tab_event_log), only on current month

Table Maintenance

CardioLog does not support manual table reorganization. In cases of major table fragmentation, or when a database table needs to be regionalized, please consult Intlock support.

Shrink Database/Data Files

CardioLog shrinks the database log file automatically.

To disable this option, run the following command against the CardioLog database:

update tab_global_settings
set Value='false'
where Category='OMAgent'and Name='ShrinkLogFile'

It is permitted to shrink the database/Data files without consulting Intlock support.

Query Optimizer Statistics

It is recommended to use auto-statistics update. Disabling/Changing the statistics gathering process can affect the application performance, therefore it is highly discouraged.

In addition to the above recommendations, the following T/SQL procedures can be used to monitor and maintain the CardioLog database.

Displays fragmentation information for the data and indexes of the specified table.
Rebuilds one or more indexes for a table in the specified database.
DBCC INDEXDEFRAG Defragments clustered and secondary indexes of the specified table or view. DBCC INDEXDEFRAG is an online operation, so it does not hold long-term locks that can block running queries or updates. DBCC INDEXDEFRAG can be considerably faster than running DBCC DBREINDEX because a relatively unfragmented index can be defragmented much faster than a new index can be built.
Displays the current distribution statistics for the specified target on the specified table.
Updates information about the distribution of key values for one or more statistics groups in the specified table or indexed view.
sp_updatestats Displays or changes the automatic UPDATE STATISTICS setting for a specific index and statistics, or for all indexes and statistics for a given table or indexed view in the current database.
Runs UPDATE STATISTICS against all user-defined tables in the current database.


Have more questions? Submit a request


Article is closed for comments.
Powered by Zendesk