Benchmark Methodology

Our Benchmark Methodology

Good performance data requires rigorous, repeatable testing under realistic conditions. Here is exactly how we conduct our benchmarks.

The Test Environment

Unless specified otherwise in a specific test, our baseline environment uses:

  • CMS: WordPress 6.x (latest stable)
  • E-commerce: WooCommerce 8.x (latest stable) with 500 generated products, variations, and attributes
  • Theme: Storefront (baseline) or Astra (for page builder comparisons)
  • Database: MariaDB 10.11 or MySQL 8.0
  • PHP: PHP 8.2 or 8.3 with OPcache enabled

Lab Testing: WebPageTest

For measuring Core Web Vitals (LCP, CLS, TBT), we use WebPageTest. We do not rely solely on Lighthouse because it does not provide realistic network throttling.

  • Location: Dulles, VA (USA) or London (UK), matching the target audience.
  • Connection Profile 1: Cable (5 Mbps download, 28ms RTT) — represents a fast, stable connection.
  • Connection Profile 2: Slow 4G (1.6 Mbps download, 150ms RTT) — represents the mobile experience that Google uses for mobile indexing.
  • Test Runs: We run every test 5 to 7 times and report the median result to eliminate network variance anomalies.

Load Testing: k6 Concurrency

Single-user tests tell you how fast a page can load. Load tests tell you when the server will crash. We use Grafana k6 for distributed load testing.

  • Ramp-up profile: We typically ramp from 1 to 50 or 100 Virtual Users (VUs) over 3 minutes, hold for 5 minutes, and ramp down.
  • Cached vs. Uncached: We test both pure anonymous traffic (hitting edge cache) and dynamic traffic (hitting PHP/MySQL, such as WooCommerce cart operations).
  • Metrics tracked: P95 Response Time, HTTP Error Rate, and Request Throughput (Req/s).

Transparency

We do not accept payment to alter benchmark results. When we test hosting providers or plugins, they are subjected to the exact same automated test suites. If a premium host fails a concurrency test, we publish the failure.