# Reproducibility bundle — 50,000 WooCommerce products with images

Everything needed to reproduce the "50,000 WooCommerce products with images" benchmark of Super Speedy Imports vs
WP All Import Pro. From superspeedyplugins.com.

## Server used for the published numbers
Hetzner CPX32 — 4 vCPU (AMD), 8 GB RAM, 160 GB SSD, Ubuntu 24.04 LTS.
WordPress 7.0, WooCommerce 10.3, PHP 8.2, MariaDB 10.6.
SSI 2.55.5 (8 parallel workers, default). WP All Import Pro 5.0.6 + WooCommerce Add-on 4.0.6 (defaults).

## What's in here
- shirt-test-50k-with-images.csv — the test feed (50,000 rows, image URLs)
- taxonomies.json — taxonomy definitions
- ssi-import-config.json / wpai-template-export.json
- results-ssi.json (16m25s, 1.6GB disk) / results-wpai.json (66h, 50.5GB disk)
- benchmark-runner.py, MANUAL-COMMANDS.md, README.md

## How to reproduce — Super Speedy Imports
1. Clean WooCommerce site with Super Speedy Imports installed.
2. Register the taxonomies first: `wp ssi import-taxonomies taxonomies.json` (product_cat, product_brand, pa_color, pa_size).
3. Create + configure the import: `wp ssi create benchmark product /path/to/shirt-test-50k-with-images.csv ssi-import-config.json`
4. Run it: `time wp ssi <id> --workers=8`
   The image URLs in this CSV point at our test host. Replace the domain in the
   image_url / gallery_images columns with a host serving 5,000 images of your own,
   or any public image pool, to reproduce the image-download + dedup behaviour.

## How to reproduce — WP All Import Pro
WP All Import Pro can't create an import with a mapping from the CLI, so:
1. wp-admin → All Import → New Import, upload shirt-test-50k-with-images.csv.
2. Map columns to WooCommerce fields (or import wpai-template-export.json if your version supports it — it's the exact template we used).
3. Run for a clean timing: `time wp all-import run <id>`

## Telemetry tooling
- benchmark-runner.py — the Python orchestrator (snapshot restore, sar, response-time probes, run, export).
- MANUAL-COMMANDS.md — exact shell commands for each run.
- README.md — full explanation of the runner.

## Our measured results
results-ssi.json / results-wpai.json hold the exact timings, throughput, disk deltas
and per-stage breakdowns from our runs. Reproduce it and tell us if you see different numbers.
