Greetings, Wordpress Wizard

Welcome to the first unified way to benchmark your hosting using simple Wordpress plugin.
A simple way to find out if your server is fast or needs an upgrade.

Tips for improving Wordpress performance

Updated: 29.oct.2022

These suggestions are mostly based on my own experience as system administrator with 20+ years of experience. To apply them you in most cases should be administrator or owner of the server. If you run your Wordpress site on shared hosting - you might want to ask your hosting provider to look through them. I open to answer questions and might update these tips in the future.

Webserver & PHP tune

  • Use as latest PHP version as possible - there is steady tendency, that newer major PHP versions will execute same code more efficiently and faster.
  • Make sure, that opcache PHP extension is installed and active
  • If possible - switch to PHP-FPM, use either static or dynamic PHP-FPM pm-manager.
  • Make sure your webserver support HTTP/2 and offers either deflate, gzip or brotli compression. There are various online tools, which can check this for you, search for webpage compression test.
  • If you are using Apache - choose either mpm_event or mpm_worker.

CPU performance

You should understand, that PHP is not multi-core processes, that means, that one PHP request utilize one CPU core. That means that speed of processing of one request does not depend on number of CPU cores, but more on single core performance and clock speed. My tests on different CPUs (both AMD and Intel) show, that clock speed makes more difference - therefore I suggest choosing CPU with higher clock speed. Quite often expnsive server CPUs with 32-64 CPU cores are clocked with lower MHz, than more desktop-grade CPUs.

Filesystem tuning

  • Choose SSD hosting - this has become a standard - hardly any hosting company offers hosting on old spinning disks
  • Add noatime tag to filesystem mounting options in /etc/fstab - this will instruct Linux not to write time of the last access-time of the file.
  • Avoid using SWAP as much as possible. Add the following parameter to /etc/sysctl.conf to instruct kernel to get into SWAP as late as possible:
    vm.swappiness=0
  • Instruct Linux to write data onto disk in larger bulks and with a bit of delay - while this adds certain risk, it can greatly improve overall writing performance, especially for small files. Add similar values to /etc/systctl.conf:
    vm.dirty_ratio = 8
    vm.dirty_background_ratio = 4

MySQL database performance

  • My suggest is to use MariaDB 10.3 or MariaDB 10.5, both with enabled query cache.
  • Some MySQL settings can do a lot difference, I list most critical ones:
    innodb_flush_log_at_trx_commit=2
    innodb_file_per_table=1
    innodb_thread_concurrency=0
    innodb_buffer_pool_size=4G
    innodb_buffer_pool_instances=8
    innodb_log_file_size=256M
    
    query_cache_type=1
    query_cache_limit=128K
    query_cache_size=64M
    query_cache_min_res_unit=512
    
    performance_schema=0
    
    sql-mode="NO_ENGINE_SUBSTITUTION"
    
    # added on 29.Oct.2022
    # especially for MySQL 8.0
    innodb_redo_log_capacity=512M # only if you have MySQL 8.0.30+
    innodb_log_buffer_size=512M
    innodb_log_write_ahead_size=128K
    disable_log_bin
    
  • Do not set innodb_buffer_pool_size or innodb_log_file_size too big. Also do not set query_cache_size higher than 128M or make proper tests, making sure it will not degrade performance.

Object cache & opcache

  • Make sure you have opcache PHP extension installed and enabled.
  • If you have dedicated server for your Wordpress - install & use Redis for object cache.


If you struggle with configuring your server, I can help. As well as I am very open for suggestions and comments on this topic - please don't hesitate to contact me.

Total tests

46239

Global stats

2023
Average score

7.45

PHP 5.4
0.02%
PHP 5.6
0.06%
PHP 7.0
0.04%
PHP 7.1
0.09%
PHP 7.2
0.31%
PHP 7.3
1.24%
PHP 7.4
27.11%
PHP 8.0
22.64%
PHP 8.1
32.79%
PHP 8.2
15.70%

2022
Average score

7.4

PHP 5.4
0.00%
PHP 5.6
0.14%
PHP 7.0
0.18%
PHP 7.1
0.11%
PHP 7.2
0.60%
PHP 7.3
2.45%
PHP 7.4
48.84%
PHP 8.0
20.48%
PHP 8.1
26.84%
PHP 8.2
0.36%

2021
Average score

8.02

PHP 5.4
0.01%
PHP 5.6
0.39%
PHP 7.0
0.30%
PHP 7.1
0.11%
PHP 7.2
2.01%
PHP 7.3
9.83%
PHP 7.4
75.31%
PHP 8.0
11.21%
PHP 8.1
0.83%

2020
Average score

7.82

PHP 5.4
0.03%
PHP 5.6
1.19%
PHP 7.0
2.53%
PHP 7.1
3.06%
PHP 7.2
11.76%
PHP 7.3
33.45%
PHP 7.4
47.27%
PHP 8.0
0.71%

2019
Average score

7.84

PHP 5.6
0.66%
PHP 7.0
5.96%
PHP 7.1
4.64%
PHP 7.2
29.14%
PHP 7.3
53.64%
PHP 7.4
5.96%

Public wall of benchmarked sites

Developed by Anton Aleksandrov - hosting.guru - 2023