Skip to content

staticweb-io/wordpress-cache-benchmarks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WordPress Cache Benchmarks

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 Benchmarks

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.

Running Dev Environment

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/

Editing Benchmarks

Benchmarks are defined in finefile.toml.

Benchmarks

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-memcached configured with memcached backend
  • litespeed-redis configured with redis backend

Redis Cache:

  • redis-cache

SnapCache:

  • snapcache-memcached configured with memcached backend

SQLite Object Cache:

  • sqlite-object-cache default 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:

  • wp-redis

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published