Importing 10,000 Products from a WebToffee-format CSV

Dave Hilditch •

Deterministic repeat, Super Speedy Imports Pro 2.86.0: 12.950 seconds for the same 10,000-row WebToffee-format CSV. During the run, CPU averaged 42.29%, RAM averaged 1,242.4 MiB and disk activity averaged 19.43%. After subtracting the measured baseline, the complete job used 0.3404 vCPU-minutes, 2.516 seconds of disk-busy time and 197.129 MiB of writes. The repeat ran on WordPress 7.0.3 and WooCommerce 11.0.0, as stated on the comparison page. Inspect the measured result. The earlier recorded run and video remain below as separate evidence.

Earlier run, Super Speedy Imports Pro 2.83.0: imported 10,000 simple WooCommerce products in 15.947 seconds by browser wall time. The plugin reported 15.037 seconds and a 40 MB plugin peak memory figure. On the identical CSV, WebToffee Free took 1,016.141 seconds, making SSI 63.719× faster in this earlier run.

The complete recorded import from the earlier 2.83.0 run, including automatic field mapping and the sixteen-second run.

Earlier run summary

MetricEarlier run, Super Speedy Imports Pro 2.83.0
Browser wall time15.947 s
Plugin total15.037 s
Throughput627.077 feed rows/s
Published products10,000
Plugin peak memory40 MB
Database rows processed131,052
Speed-up vs WebToffee Free63.719×

See the WebToffee Free result or the direct comparison.

Dataset and configuration

  • Initial feed: 10,000 simple products, 2,644,851 bytes, SHA-256 cd135ff65a4b15a717bc3057a7980f0b42b4d14e08c994541e25d54f90a3f64e.
  • Update feed: 10,000 rows, 2,816,718 bytes, SHA-256 43df664ec47e188443b6fbb4e978808c37c52f6935865ff1d95df9b47ca85b26.
  • Update changes: 2,500 existing products changed, 1,000 products added, 1,000 original products omitted, and 6,500 retained products unchanged.
  • Mapped data: title, descriptions, SKU, regular and sale prices, weight, category, brand, global colour and global size.
  • Edition: Pro build used for the earlier run, version 2.83.0.
  • Build SHA-256: e554deca032fa94145300ecb7355bc089147dffd740b33d3de0eb0b8e1cceede.
  • Workers: four, matching the server’s four vCPUs.
  • Auto-configuration: recognised the WebToffee-format CSV and mapped the required WooCommerce fields automatically.
  • Matching: SKU.

Stage timings (earlier 2.83.0 run)

StageDuration
Load CSV4.768 s
Attach existing images0.152 s
Upload remote images0.155 s
Attach gallery images0.372 s
Finish product attributes4.061 s
Import taxonomies0.141 s
Insert posts0.447 s
Insert postmeta0.428 s
Upsert taxonomy relationships0.509 s
Process variable-product data0.211 s
Process deletes0.052 s
Reported stage sum11.503 s
SSI total15.037 s

Environment (earlier 2.83.0 run)

ComponentValue
ServerHetzner benchmark VPS, 4 vCPU, 8,121,954,304 bytes RAM
StackPHP 8.2.33, MariaDB 10.11.18, WooCommerce 10.3.8
IsolationHetzner snapshot 390805640 restored before each plugin
DatasetThe exact same CSV bytes were supplied to both plugins
ImagesNone, so the test isolates CSV parsing and WooCommerce data writes

Correctness and background housekeeping

The immediate result contained 10,000 unique published SKUs, and all 10,000 products had both global attributes plus category, brand, colour and size relationships. WooCommerce showed its background product-data notice immediately after import; a later server check found the queue clear and complete lookup-table coverage. That later wait was not timed and is not included in the earlier run’s 15.947-second time.

Super Speedy Imports initial import completion screen
Super Speedy Imports initial import completion screen.

Post-import catalogue evidence

These screenshots were taken in the earlier 2.83.0 run, immediately after the plugin reported completion. They show the WooCommerce product total, category and brand counts, global attributes, and the colour and size term counts.

Super Speedy Imports initial import WooCommerce product count
Super Speedy Imports initial import: products and status counts.
Super Speedy Imports initial import product category counts
Super Speedy Imports initial import: product categories and counts.
Super Speedy Imports initial import product brand counts
Super Speedy Imports initial import: brands and counts.
Super Speedy Imports initial import global product attributes
Super Speedy Imports initial import: global product attributes.
Super Speedy Imports initial import colour term counts
Super Speedy Imports initial import: colour terms and counts.
Super Speedy Imports initial import size term counts
Super Speedy Imports initial import: size terms and counts.

Reproduce

Download the reproduction bundle. It contains the exact WebToffee-format CSV that SSI consumed, rather than an equivalent regenerated SSI-specific file.

This is one controlled setup. Absolute timing will vary with the host and the shape of the feed.

Comments

▲
▼
1/1