Performance Testing with WP Performance Tester

Last Revised: October 2, 2021

Thanks to the WPPerformanceTester plugin we can easily perform some performance tests on our WordPress. These tests do mathematical calculations, manipulation of text strings, looping iterations, conditionals, tests on MySQL, and actions on $wpdb.

More specifically, it does:

  • Math: 100,000 tests in mathematical functions
  • String Manipulation: 100,000 tests in manipulation and text strings
  • Loops: 1,000,000 looping iterations
  • Conditionals: 1,000,000 conditional logic tests
  • MySQL (connect, select, version, encode): 1,000,000 basic SQL functions
  • $wpdb: 250 INSERT, SELECT, UPDATE and DELETE operations using $wpdb

This tool can go well to do an analysis of both shared hosting and dedicated hosting or VPS. Of course, it is recommended to do the tests in a standalone WordPress installation, since these tests can saturate or break the database and lose the information.

This tool is designed to make calculations about the hosting and not performance tests on the operation of WordPress, so it does not matter if there are more or less plugins or configurations installed.

NOTE: This plugin has not been updated for a long time and in the latest versions it gives some problems and errors. In this case, instead of downloading the Git version (unless it has been updated lately) I recommend you download our version that has some small fixes that make it possible to run on WordPress 5.4+ and PHP 7.3+ without problem.

This tutorial has been created on a VPS. You can create your own VPS from 3€/month.

In addition, you have the possibility to create your VPS with the WordPress image in one click.



In principle it is only necessary to have a WordPress. In this case we have done the tests by creating one from scratch.


As it is a plugin, we will upload it using the “Add new” button that we will find in the plugins option of our WordPress installation. Once we have uploaded it, we can activate it.

Once activated, in the Tools section we will see the new option of the tool.

If we enter the tool we will see the message thanks to which we can start the tests.

The test usually takes a few seconds, since it does a lot of calculations and loops and that requires some time.

When performing the tests we will obtain two results. The first is a graph comparing the average times of the results that people send anonymously. The second is a table with the figures.


To understand the results we have done some tests (on the same hosting) simply expanding the CPU and memory of the machine, and activating and deactivating some caches. The mean is also indicated in the data collected by the tool from thousands of tests.

CPU Operation: 0.5 / RAM 1GBCPU: 1 / RAM 2GBCPU: 2 / RAM 4GBCPU: 4 / RAM 8GBIndustry
String Manipulation664501508499693
Mysql Connect0000
Mysql Select Database0000
Mysql Query Version1000
Mysql Query Benchmark8618378337213792
Total Time1032949154865492710556
Queries per second308563550602
Times in milliseconds

As you can see, these figures vary a lot between machines that can do few calculations, but there comes a time when expanding the power does not imply more (this is due to the number of tests that never reach the limit of the calculations that the machine can do).

It is certainly a good tool to analyze if there is any kind of bottleneck in the calculations of the machine and to buy hosting companies.

About this document

This document is regulated by the EUPL v1.2 license, published in WP SysAdmin and created by Javier Casares. Please, if you use this content in your website, your presentation or any material you distribute, remember to mention this site or its author, and having to put the material you create under EUPL license.