50,000 Full Update — with Scalability Pro

June 5, 2026

With Scalability Pro, Super Speedy Imports applies a full 50,000-product update in about 60 seconds — and, just as importantly, does it reliably. Without SPRO the same update is fast on a good run (~66s) but can occasionally stall when MariaDB picks a poor query plan for the bulk postmeta update; Scalability Pro’s performance index removes that worst case, holding the update at a stable 59–61s. For context on the same server, WP All Import takes 20h 11m (2h 23m with SPRO). Full timings, dataset and reproduce steps below.

Summary

  • SSI + Scalability Pro: 59–61s for a full 50,000-product update (~820–847 products/sec).
  • The SPRO effect: fast and stable — its performance index stops the bulk postmeta update from occasionally hitting a slow full-scan plan (the update-postmeta stage drops from ~10.7s to ~4.3s, and the rare 30-minute worst case disappears).
  • Scenario: full update of an existing 50,000-product catalogue — 47,500 kept (5,000 changed), 2,500 added, 2,500 removed.
  • Config: Super Speedy Imports 2.55.7 (8 parallel workers) + Scalability Pro (indexes + performance options).
  • vs WP All Import: 20h 11m (2h 23m with SPRO) — SSI + SPRO is roughly 1,200× / 140× faster respectively.

Multiple runs (wall-clock seconds, 8 parallel workers):

ConfigRun 1Run 2Products
SSI + SPRO61s59s50,000

Results

MetricWP All Import ProWP All Import + SPROSSISSI + SPRO
Total time20h 11m (72,685s)2h 23m (8,619s)66s59–61s
Records / sec~0.69~5.8~758~820–847
Speed vs WP All Import alone~8×~1,100×~1,200×

Per-stage breakdown (SSI + SPRO)

StageDuration
load-csv20.00s
import-taxonomies0.03s
match-existing2.02s
update-posts1.05s
insert-posts0.84s
update-postmeta4.32s (≈10.7s without SPRO)
insert-postmeta1.13s
attach-existing-images3.07s
upsert-relationships5.18s
upload-remote-images1.88s
process-variable-products2.15s
attach-gallery-images5.59s
fix-attributes9.69s
process-deletes0.31s
Total stage time59.38s

Key findings

  • On updates, Scalability Pro’s biggest win is reliability. Without it, the bulk postmeta UPDATE can occasionally hit a full-table-scan query plan and blow out to 30+ minutes; SPRO’s performance index keeps it consistently ~60s.
  • The raw speed gain is modest in the good case (66s → ~60s; the update-postmeta stage alone drops from ~10.7s to ~4.3s) — but predictability is the real value for scheduled, recurring imports.
  • Even WP All Import tuned with SPRO (2h 23m) is ~140× slower than SSI + SPRO. SPRO helps both, but the import engine underneath is what sets the ceiling.

Compare: the same update without Scalability Pro, or from WP All Import’s side — 20h 11m / 2h 23m with SPRO.

Methodology

Environment

  • Server: Hetzner CPX32 — 4 vCPU (AMD), 8 GB RAM, 160 GB SSD, Ubuntu 24.04 LTS.
  • Stack: WooCommerce 10.3, PHP 8.2, MariaDB 10.6, WordPress 7.0.
  • Plugins: Super Speedy Imports 2.55.7 (8 parallel workers) + Scalability Pro with its database indexes + performance options applied; WP All Import Pro 5.0.6 + WooCommerce add-on 4.0.6 for comparison.

Test setup

  • Source: a 50,000-row update feed derived from the original 50k catalogue (47,500 kept + 2,500 added + 2,500 removed + 5,000 changed).
  • Workers: 8 (SSI default).
  • Runs: SPRO ×2 (61s, 59s).
  • State: update applied over an existing loaded 50k catalogue; snapshot-reset between runs.
  • Images: resolved from the existing media library — no downloads.

Rules & measurement

  • Same update feed, same hardware, same scope, same expected end-state (50,000 products, 2,500 trashed) as the no-SPRO and WP All Import runs.
  • Headline figure is total wall-clock duration; records/sec is derived from it.

This is not intended as a universal benchmark — your data shape, hardware and hosting will differ. It is one carefully controlled, fully reproducible scenario.

Dataset

  • Products: 50,000 existing, of which 5,000 changed, 2,500 added, 2,500 removed.
  • Taxonomies: product_cat, product_brand, plus variation attributes pa_color and pa_size.
  • Metadata: SKU, regular/sale price, weight.
  • Images: already present from the initial load — not re-downloaded during the update.

Reproduce

The update feed, taxonomy definitions and SSI config are in the bundle below. To reproduce the SPRO result you also need Scalability Pro active with its indexes and performance options applied.

  • Download: ssi-benchmark-50000-update.zip
  • Contains the update + original feeds, taxonomies.json, the SSI configs, wpai-template-export.json, results JSON and a HOW-TO-REPRODUCE.md.

Steps (Super Speedy Imports + Scalability Pro)

  1. Start from a loaded 50,000-product WooCommerce catalogue with Super Speedy Imports installed.
  2. Activate Scalability Pro and apply its database indexes + performance options.
  3. Register the taxonomies (if needed): wp ssi import-taxonomies taxonomies.json
  4. Create the update import: wp ssi create benchmark product /path/to/shirt-test-50k-update.csv ssi-import-config.json
  5. Run it: time wp ssi <id> --workers=8

If your results differ significantly, tell us — we’d like to know.

FAQ

If SSI is already ~66s without SPRO, why add it?

Reliability. The no-SPRO update is fast on a good run but can occasionally hit a poor database query plan and stall badly. Scalability Pro’s index removes that worst case, so a scheduled recurring update lands at a predictable ~60s every time.

Is the speed gain worth it?

The raw improvement here is small (66s → ~60s). Buy Scalability Pro for the stability on recurring imports and for faster front-end serving on large catalogues — not for a few seconds on a single run.

Is this the same Scalability Pro that speeds up WP All Import?

Yes — the same plugin. It gives WP All Import an ~8× boost on this update (to 2h 23m) and keeps Super Speedy Imports’ update stable at ~60s. Same optimisation layer; very different import engines underneath.

Can I reproduce this locally?

Yes — download the bundle above and apply Scalability Pro. Absolute times depend on your hardware, but the stability benefit should hold.

×
1/1