Benchmarks for object cache plugins. For plugins that have other options like page caches and acceleration, those are disabled in the benchmarks. We benchmark only the plugin with its object cache.
Running the benchmarks requires installing
Nix.
You can enter a development shell via nix develop,
or automatically using direnv.
You should run the benchmarks in a disposable VM with no access to secrets.
After starting a development shell,
you can run the benchmarks via just bench.
This runs a series of 500 random requests using each
plugin and each backend that that plugin supports.
You can run specific benchmarks via just bench -c <name>.
See finefile --help for a full list of options.
You can start a development server with the same setup as
a benchmark by running just dev <name>.
WordPress will be available at http://locahost:8888/wp-admin/
Benchmarks are defined in finefile.toml.
The default configuration performs 500 requests to a random selection
of pages on a default install of WordPress.
This is chosen as a neutral baseline and a reality check,
but note that it is not representative of real usage.
It gives an abnormal advantage to the no-plugins benchmark,
and heavily punishes the overhead of the plugins.
The available benchmarks are:
WordPress's built-in object cache:
no-plugins
LiteSpeed Cache, an all-in-one acceleration and caching plugin. The page cache is disabled so that we test only the object cache:
litespeed-memcachedconfigured with memcached backendlitespeed-redisconfigured with redis backend
redis-cache
snapcache-memcachedconfigured with memcached backend
sqlite-object-cachedefault configuration without APCu cache
Note: SQLite Object Cache has a very performant APCu cache mode, but it is not benchmarked because I can't reliably configure it using WP-CLI.
wp-redis