Skip to content

Configuration test

A configuration test (sometimes called a comparison test) runs the same load profile against two or more infrastructure or application configurations. It measures what one specific change does to performance. Examples: caching on vs off, connection pool size 10 vs 50, database index present vs absent, CDN enabled vs direct origin.

  • You can deploy the target system in two or more distinct configurations without changing the application code or test script.
  • You have a load test that establishes a repeatable baseline.
  • Both configurations use the same data set, network path and infrastructure tier (same region, same machine size), so the configuration under test is the only variable.

A configuration test is a controlled experiment. You keep everything else fixed, change one variable at a time, and watch what happens to performance. It is the performance testing version of an A/B test.

Variables teams often test this way:

VariableConfiguration AConfiguration B
Query cacheDisabledEnabled (Redis TTL 60 s)
Database connection poolSize 10Size 50
CDN / edge cacheBypassEnabled
JVM heap size512 MB2 GB
Database indexMissingPresent
HTTP keep-aliveDisabledEnabled
Replica count12

How to run a configuration test in MaxoPerf

Section titled “How to run a configuration test in MaxoPerf”
ParameterValue
Virtual users (VUs)Fixed (same as load test, e.g., 100 VUs)
Duration15 min per run
Ramp-up3 min (identical across runs)
Stop modeDuration
LocationsSame location(s) across all runs
  1. Deploy Configuration A (for example, caching disabled).
  2. Run your standard load test. Tag the run config=no-cache in the run’s Notes field.
  3. Deploy Configuration B (caching enabled). Do not change the test definition.
  4. Run the identical test again. Tag the run config=redis-cache.
  5. Open either run and click Compare to select the other run as the baseline. The comparison view shows throughput, p95/p99 latency, and error rate deltas.
# Same YAML for both runs — only the target infrastructure changes
execution:
- executor: jmeter
concurrency: 100
ramp-up: 3m
hold-for: 12m
scenario: api-config-test
scenarios:
api-config-test:
requests:
- url: https://api.staging.example.com/v1/products
label: list-products
- url: https://api.staging.example.com/v1/users/profile
label: get-profile

Use MaxoPerf’s run comparison view to measure the effect of each configuration:

  • Throughput delta. Check whether Configuration B serves more requests per second. A 30 % throughput increase with caching enabled is a clear win.
  • p95 latency delta. Check how far p95 moved. A green chip (lower is better) confirms the change helped.
  • Error rate delta. Make sure the change did not add new errors.
  • Consistency. Run each configuration at least twice. If two runs of the same configuration give very different results, the environment is not stable enough to compare.
DoDon’t
Change one variable at a timeChange multiple configuration knobs between runs
Tag every run with the configuration it testedRely on memory to track which run tested which config
Run each configuration at least twice for consistencyDraw conclusions from a single run per configuration
Keep VU count, duration, and ramp-up identical across runsAdjust the load profile between runs
Check that both environments are warmed up equallyCompare a cold-cache run against a warm-cache run