Optimize Performance

Performance issues in WHMCS can occur due to many factors, including insufficient system resources, large databases, problematic modules, or server configuration issues.

For steps to start troubleshooting issues in WHMCS, see Start Troubleshooting.

Optimize WHMCS’s Performance

The following steps can help you maintain faster speeds and avoid future performance problems:

This information only applies to self-hosted WHMCS installations. WHMCS Cloud does not currently support direct access to WHMCS files and databases.

When you have a lot of tickets, calculating the number of tickets per status to display each time you open a ticket can slow things down.

Check that your WHMCS installation meets the system requirements for your current WHMCS version.

Your server must meet the minimum memory, PHP version, and MySQL® version requirements in order to function correctly. However, increasing RAM or SWAP memory and processing power for your WHMCS installation will increase its performance.

For more information on updating this file, see The configuration.php File.

2. Disable any enabled logging and debugging features.

This information only applies to self-hosted WHMCS installations. WHMCS Cloud does not currently support direct access to WHMCS files and databases.

If you have a large number of services, calculating the number of services for each client might increase the load time when you visit Clients > View/Search Clients.

Check to ensure that you have disabled the following logging and debugging features:

Location in WHMCSSetting
Configuration () > System Logs > Module LogModule Log
The Mail tab at Configuration () > System Settings > General SettingsDebugging
The Other tab at Configuration () > System Settings > General SettingsDisplay Errors, Log Errors, SQL Debug Mode, and Hooks Debug Mode
For more information on updating this file, see The configuration.php File.

3. Optimize your database.

A large database can make the system slow and inefficient. Database optimization involves checking table sizes, performing cleanup, and optimizing table structures.

Optimize your MySQL configuration.

Make sure to disable these when you are not actively debugging an issue, since they can and will increase the database size exponentially.

Customizations

This information only applies to self-hosted WHMCS installations. WHMCS Cloud does not currently support direct access to WHMCS files and databases.

Third-party customizations can slow the performance of WHMCS. Ensure that any customization (for example, hooks and addons) that you are using is up-to-date and works with the version of WHMCS you are running.

Database Backups

This information only applies to self-hosted WHMCS installations. WHMCS Cloud manages WHMCS backups for you automatically.

The database backup process can be CPU, memory, and disk intensive while the entire database is exported, compressed, and uploaded or emailed. If performance issues are observed at the same time every day during the database backup process, this could be a potential cause.

For more information, see Database Backups.

Mail Provider

Long loading times when performing an action involving sending an email (for example, placing an order, opening or replying to a support ticket, or publishing an invoice) are often caused by connection issues to the chosen email provider.

For more information, see Troubleshooting Email Problems.

Consider switching to an external mail provider like MailGun, SendGrid, or SparkPost: they are often more performant than SMTP.

MySQL®

This information only applies to self-hosted WHMCS installations. WHMCS Cloud does not currently support direct access to WHMCS files and databases.

WHMCS performance depends on a correct MySQL® configuration, especially for larger databases. Make any changes to the server’s my.cnf file under the mysqld section, usually in /etc/my.cnf (cPanel servers and most others).

  • As a starting point, set max_connections to a low value like 50 and increase based on the available RAM.
  • When you are configuring this and the following other important settings, restart MySQL and let it run for 48 hours:
    • wait_timeout (at least 300, so MySQL doesn’t drop connections too soon)
    • sort_buffer_size (2–4 MB)
    • read_buffer_size (2–4 MB)
    • max_allowed_packet (16 MB)

Check database table sizes.

This information only applies to self-hosted WHMCS installations. WHMCS Cloud does not currently support direct access to WHMCS files and databases.

WHMCS is a PHP MySQL script, and so the more RAM or SWAP memory and raw processing power you have at your disposal, the better the performance from your installation.

We recommend using the recommended higher set values and modules instead of the minimums in our system requirements for best results.

Last modified: 2025 October 17