System Requirements

 

Supported Operating Systems

ServiceDesk Plus is supported on the following operating systems:

This list will be updated regularly. Note that the operating systems are supported for both PostgreSQL and MSSQL.

Azure VM (Windows 2019) with Azure SQL is also supported to run ServiceDesk Plus.

 

ServiceDesk Plus is installed on these operating systems and tested with both PostgreSQL and MSSQL databases.
For customers using external PostgreSQL, its version should be the same as the bundled PostgreSQL version in the application.

Minimum Memory Requirements

Below-mentioned are the minimum requirements of memory and database based on inbound requests per day. You may require more RAM space and high-end processors depending upon incoming requests and logged in technicians, simultaneous access load, and other applications' load installed in the server.

 

Inbound Requests Per Day & Technicians Count

Hard Disk  & RAM

Database

Processor

Up to 500 requests per day & Up to 50 technicians

 

500 GB & 12 GB

Bundled PGSQL

2.0 GHz

8 cores

Entry-level server-grade processor

E.g
Intel Xeon E Family

501-5K requests per day & 51-500 technicians

 

1 TB & 16 GB

Bundled PGSQL

2.4 GHz

12 cores

Server Grade Processor

E.g
Intel Xeon E Family

5K-10K requests per day & 501-1500 technicians

 

2 TB & 24 GB

Bundled PGSQL

3.0 GHz

16 cores

30MB L3 Cache

High Server Grade Processor
E.g
Intel Xeon Scalable Gold/Platinum

 

For large enterprises handling more than 10,000 requests per day, it is recommended to use a dedicated, server-grade machine for running the database. Ensure that the machine meets the specifications mentioned in External MSSQL or External PostgreSQL.

In environments with higher usage, we recommend limiting the java heap size to a maximum of 4GB or 6GB. Since a larger heap size can trigger more intensive garbage collection operations and might cause application slowdowns.
Note that you cannot run ServiceDesk Plus on non-GUI Windows machines (or Server Core installation).


Requirement for ServiceDesk Plus with Asset Management

ServiceDesk Plus uses Endpoint Central (formerly Desktop Central) agents for scanning. The Endpoint Central (formerly Desktop Central) agent is tightly coupled with the Endpoint Central (formerly Desktop Central) server, and therefore, Endpoint Centra (formerly Desktop Central)l itself will be downloaded and silently installed in the same folder location as ServiceDesk Plus/AssetExplorer. Endpoint Central can be installed only on a Windows machine. If ServiceDesk Plus/AssetExplorer is installed on a Linux machine, then Endpoint Central has to be installed manually on another Windows machine and integrated with ServiceDesk Plus/AssetExplorer under Admin >> Integrations >> Endpoint Central (formerly Desktop Central).

As Endpoint Central (formerly Desktop Central) is installed within the ServiceDesk Plus folder, a maximum of 1 GB of free space is required. 

If Endpoint Central (formerly Desktop Central) is purchased separately, please refer here for detailed hardware requirements based on the number of assets purchased.

Refer to the below link for more details on the Endpoint Central (formerly Desktop Central) agent.

 

Endpoint Central (formerly Desktop Central) Agent in ServiceDesk Plus

Supported Browsers

The following is a list of supported browsers. We recommend you update to the latest version of whichever browser you are using for better performance and security.  

Recommended screen resolution: 1366 x 768 pixels. 

 

Database Maintenance

The query optimizer uses table statistics to create query plans. To ensure optimal performance of query plans, table statistics must be updated regularly. To avoid performance issues, schedule database maintenance during non-operational hours at least once a week.


1. Postgres: REINDEX and VACUUM ANALYZE

Regular database maintenance is crucial to prevent and mitigate corruption issues. The REINDEX utility rebuilds indices, making them more consistent and removes any fragmentation in the database. The VACUUM utility reclaims storage occupied by dead tuples and updates statistics for the query planner to optimise performance. It also helps maintain database health by ensuring visibility map accuracy for efficient data access. 

2. SQL Server: REBUILD, REORGANIZE, and updatestats

Rebuild drops and recreates an index, fully removing fragmentation, reclaiming space, and updating statistics with a full scan. Reorganize incrementally de-fragments the index, making it less resource-intensive. sp_updatestats updates statistics for all user-defined tables in the current database where data has changed, helping the query optimizer make better execution plans towards query performance.

 

MSSQL

If your ServiceDesk Plus runs on an MSSQL setup, then make sure to host the database server in a separate machine under the same network as the application server.  The DB server machine configuration solely depends on the number of databases configured and usage. Please consult with your DBA or Microsoft MSSQL support for system requirements.
Supported MSSQL Versions: 2016, 2017, 2019, and 2022.

MSSQL Database System Requirements

Mentioned below are the minimum requirements to run ServiceDesk Plus on an MSSQL setup. This requirement is applicable only to the ServiceDesk Plus-related database.

 

Processor

RAM

Hard Disk

3.0 GHz

30MB L3 Cache

10 cores

64 GB

1TB

 

For optimum usage of MSSQL Database,

To learn more about MSSQL best practices, click here.

How to enable read committed snapshot isolation (RCSI)

All MSSQL databases usually have lock issues, which may affect an application’s optimal performance. To avoid such performance issues in ServiceDesk Plus, enable the read committed snapshot isolation (RCSI) by following these steps:

This might take a while to complete and also requires downtime, so please schedule it over a weekend.
  1. Stop ServiceDesk Plus application.
  2. Log in to SQL Management studio.
  3. Take the ServiceDesk Plus database offline by executing 

    USE master 
    GO
    ALTER DATABASE <db_name> SET OFFLINE WITH ROLLBACK IMMEDIATE
    GO

  4. Enable the read committed snapshot by running 

    ALTER DATABASE <db_name> SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE

    GO

  5. Bring the database online using 

    USE master 
    GO
    ALTER DATABASE <db_name> SET ONLINE
    GO

  6. Check if you have enabled RCSI successfully by running the following query                                                                                                                                            
    SELECT is_read_committed_snapshot_on FROM sys.databases WHERE [name] = '<db_name>' 

If the output to this query is 1, you've successfully enabled RCSI.

You can now start the application. For more information on MSSQL databases and RSCI, go here.

 

Benefits of enabling the MSSQL Snapshot Mode

Simultaneous user-querying of the database will be possible without any delay or disruption (although the load on the application might exceed the usual limits).

User querying records will be maintained in a separate tempdb, which will not be affected by other user queries occurring in parallel or subsequently.

Database tables will be updated only after a transaction reaches completion.

MSSQL Database Configuration

We strongly recommend that you have an initial database capacity of at least 5GB and extend it periodically in advance by monitoring the current database file size to avoid an auto-growth event being triggered unnecessarily. This will ensure optimum application performance and smooth data processing.

File Autogrowth for database files can be configured as well. To learn more, click here.

Creating Database

Run the following query to create a database:

USE master;
GO
CREATE DATABASE <dbname>
ON(
NAME=<dbname>,
FILENAME='D:SDP<dbname>.mdf',
SIZE=5GB);
GO

 

Extending Database Size

Find the current database size by running the query below

USE master;
GO
select (size*8)/(1024*1024) from sys.master_files where DB_NAME(database_id)='servicedesk' and physical_name like '%.mdf%';
GO

 

Run the following query to add 5 GB to the current database size

USE master;
GO
ALTER DATABASE servicedesk
MODIFY FILE
(NAME = <dbname>,
SIZE = <currentdbsize+5GB>);
GO

 

 

How to configure File Autogrowth Settings

Default autogrowth settings in the SQL Server engine may lead to disk fragmentation and performance issues. These values are set at 1 MB and 10 percent for Data File and Log File, respectively. We recommend that you configure these as fixed values and not in percentage. 

To ensure optimum application performance, we strongly recommend that the Data File and Log File autogrowth values are configured as 256 MB and 128 MB, respectively. 

 

Follow these steps to configure File Autogrowth

  1. Log in to SQL Management studio and run the following query:
     


USE <db_name>

EXEC sp_helpfile


GO


  1. If the configured growth values for Data (.mdf) and Log (.ldf) files are less than the recommended values, run the following query:
     

    Use Master
    GO
    ALTER DATABASE <db_name>
    MODIFY FILE ( NAME = N'<db_name>', FILEGROWTH = 256MB )
    GO
    ALTER DATABASE <db_name>
    MODIFY FILE (NAME = N'<db_name>_log', FILEGROWTH = 128MB )
    GO
  2. Re-run the query in step 1 and check if the autogrowth values now correspond to the recommended values. 

Setting MAXDOP and CTFP

Maximum Degree of Parallelism (MAXDOP) is a setting in SQL server that limits the number of processors (or cores) used in parallel plan execution. It is used to control the maximum number of threads used to execute a single task or query.

In SQL server, configuring the MAXDOP setting is crucial for controlling the number of processor threads used for query execution. This setting helps to balance the load and ensures optimal use of system resources.

The ideal value for MAXDOP should generally be set to the number of online schedulers per node. A general recommendation is to set MAXDOP to 2, especially in environments where there is a need to balance parallel processing with overall system performance.


Setting MAXDOP

You can set MAXDOP at the server level or database level. 

 

Queries to configure MAXDOP at server level

EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO  
EXEC sp_configure 'max degree of parallelism', 2;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO

 

Queries to configure MAXDOP at database level

USE [YourDatabaseName]
GO
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 2;
GO
 

Cost Threshold For Parallelism (CTFP)

CTFP is a configuration option in SQL server that specifies the threshold at which SQL server considers using parallel plans for query execution.

The default value for CTPF is 5, which is generally considered too low for modern hardware. We suggest setting CTPF to 50, which is a practical threshold for implementing parallelism, considering the capabilities of modern hardware.

 

Setting CTPF

Execute the following query to set CTPF at the SQL server level.

 

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'cost threshold for parallelism', 50; -- Change the value to your recommended setting
RECONFIGURE;

 

 

Configure sp_whoIsActive in SQL server

For SQL Server, there is a free script called sp_whoIsActive. This script generates the currently running queries / open transactions etc and is very useful to analyse performance issues.

The license of this script does not allow us to bundle this along with our product. But we can download and install it in the SDP database.
 

How to install


1. Open SQL server studio and connect to SDP database.

2. Download the latest version of the script and copy/paste the content in SQL server studio query editor and execute it once.

3. To check if it is installed correctly, run

      sp_whoIsActive


and check if you get the results.

Once this is installed, the auto performance logs collection patch will automatically generate sp_whoIsActive results whenever performance issue occurs.


View Server State Permission

View server state permission is required for the DB user configured for SDP to fetch query related information from the ServiceDesk Plus database.

To grant this permission, login as admin user in SQL server and right-click on the SQL server instance name, go to properties > Permissions, and add View server state permissions for the SDP DB user login. Alternatively, this can be done using the query mentioned below.

 

USE master
GO
GRANT VIEW SERVER STATE TO <SDPLogin>
GO


Antivirus Scan Exemption

Any antivirus software, such as Symantec, running on the same system as ServiceDesk Plus can affect the application's performance. Therefore, to ensure application performance, exempt the following items from antivirus scanning:

Only the specified items need to be exempted from the scanning. The rest of the ServiceDesk Plus folder can be scanned for antivirus.