Performance

As SupportPal is self-hosted software ran on-premise, your server can usually be optimised to make it run faster. The following is a list of performance related suggestions.

Contents

Hardware Suggestions

Hard Drive

As SupportPal uses a file-based cache by default, performance can be greatly be improved by using SSDs with high read and write speeds instead of mechanical HDDs.

Separate Database Server

Setting up a separate server specifically for running the database can perform better than having both on the same server.

Other Server Specifications

Though there are no specific hardware requirements, we recommend a minimum of 2 GB RAM and 2 vCPU. If you anticipate the server to be under high load then we would recommend more resources.

Software Suggestions

Web Server

Linux

SupportPal works out of the box with Apache web server, however there are other web servers that perform much better albeit they’re more complex to configure. We would recommend either nginx or LiteSpeed.

Windows (IIS)

Read over the recommended practices for PHP on IIS.

PHP Configuration

We always recommend to run the latest version of PHP that fits within our system requirements.

OPcache

OPcache can improve performance by storing compiled scripts in memory to avoid them having to be loaded from the file system on each page load. The default OPcache configuration is not optimal for SupportPal, so we following configuration is recommended.

It assumes you have at least 1GB RAM, you may need to set a lower memory_consumption value otherwise.


    ; Determines if Zend OPCache is enabled
    opcache.enable=1

    ; The OPcache shared memory storage size.
    opcache.memory_consumption=512

    ; The amount of memory for interned strings in Mbytes.
    opcache.interned_strings_buffer=64

    ; The maximum number of keys (scripts) in the OPcache hash table.
    ; Only numbers between 200 and 1000000 are allowed.
    opcache.max_accelerated_files=32531

Realpath Cache

When a relative path is transformed into its real and absolute path, PHP caches the result to improve performance. SupportPal opens many files so we recommend at least these values:


    ; maximum memory allocated to store the results
    realpath_cache_size=4096K

    ; save the results for 10 minutes (600 seconds)
    realpath_cache_ttl=600

Xdebug

The xdebug extension should be disabled.

Database Configuration

MySQL (or equivalent) query caching should be enabled. This is usually enabled by default, but you may wish to increase the cache size (total data stored) or the cache limit (single query limit).

SupportPal uses the InnoDB storage engine. Please read over InnoDB performance optimisation basics.

SupportPal Configuration

Cache

Switch from the file-based cache to Redis. Redis is an in-memory caching system that works much faster than reading and writing to disk. Find out how to change the cache store.

Sessions

Switch from file-based session storage to Redis. Redis is an in-memory caching system that works much faster than reading and writing to disk. Find out how to change the session store.