WordPress performance benchmarking plugin that generates reproducible test datasets. 100% local, zero data collection.
Most benchmarks test your server. This tests WordPress.
| Server Benchmarks | Nettingale Benchmark |
|---|---|
| Fibonacci calculations | Real wp_insert_post() calls |
| Generic file writes | WordPress image uploads with thumbnails |
| Generic MySQL queries | WordPress taxonomy queries and meta joins |
| Simulated operations | Actual WordPress functions |
Use server benchmarks to compare hosting. Use this to test WordPress performance with realistic content volumes.
- Reproducible - Fixed seed (12345) ensures identical results across runs
- Three Tiers - Small (5 min), Medium (30 min), Large (4 hours)
- Complete Content - Posts, pages, comments, users, categories, tags, images
- Real Images - JPEG generation using GD library
- Batch Processing - AJAX-based to prevent timeouts
- Background Processing - Runs even if you navigate away
- Detailed Metrics - Timing, rates, storage sizes
- Safe Cleanup - Marker-based deletion of benchmark data only
- Export Options - JSON and CSV formats
- 100% Private - Zero data collection, no external connections
- Installation
- Requirements
- Benchmark Tiers
- Usage
- Reproducibility
- Architecture
- Development
- Privacy
- License
- Support
(Coming soon after review)
cd wp-content/plugins
git clone https://github.com/nettingale/nettingale-benchmark.git- Download from GitHub Releases
- Extract and upload to
/wp-content/plugins/ - Activate through Plugins > Installed Plugins
- Access at Nettingale Benchmark in admin menu
- WordPress: 5.8+
- PHP: 7.4+
- PHP Extensions: GD Library
- Database: MySQL 8.0+ or MariaDB 10.6+
- PHP: 8.3+ (for best performance and security)
- Memory: 256M or higher
- Execution Time: 300 seconds or unlimited
memory_limit = 256M
max_execution_time = 300Duration: 2-5 minutes | Disk Space: ~50MB
- 500 posts, 50 pages
- 100 users, 1,000 comments
- 10 categories, 50 tags
- 1,650 images
Use Case: Quick testing, development, CI/CD
Duration: 20-40 minutes | Disk Space: ~500MB
- 5,000 posts, 200 pages
- 1,000 users, 10,000 comments
- 25 categories, 200 tags
- 15,600 images
Use Case: Realistic testing, plugin stress testing
Duration: 3-6 hours | Disk Space: ~5GB
- 50,000 posts, 1,000 pages
- 10,000 users, 100,000 comments
- 50 categories, 1,000 tags
- 153,000 images
Use Case: Extreme stress testing, enterprise-scale
- Navigate to Nettingale Benchmark
- Select a tier (Small, Medium, Large)
- Click Start Benchmark
- Monitor real-time progress
- View results in History tab
Benchmarks run in the background:
- Start a benchmark
- Navigate away or close browser
- Benchmark continues processing
- Return anytime to see progress
- Go to History tab
- Click View Metrics on completed run
- Review detailed statistics
- Export as JSON or CSV
- Go to Settings tab
- Click Preview Cleanup
- Click Delete All Benchmark Data
- Type
DELETEto confirm
Uses a fixed seed (12345) for deterministic generation:
mt_srand(12345);- ✅ Same content every time
- ✅ Pixel-perfect image reproduction
- ✅ Identical metadata and relationships
- ✅ Consistent user data
- ✅ Deterministic colors (10 schemes based on post ID % 10)
Run the same tier twice and compare metrics:
# First run
Posts: 500, DB: 45.2MB, Files: 105.8MB
# Second run
Posts: 500, DB: 45.2MB, Files: 105.8MB
# Metrics identical ✓nettingale-benchmark/
├── nettingale-benchmark.php # Main plugin file
├── includes/ # PHP classes
│ ├── class-nettingale-benchmark-ajax-handlers.php
│ ├── class-nettingale-benchmark-batch-processor.php
│ ├── class-nettingale-benchmark-cleanup-manager.php
│ ├── class-nettingale-benchmark-comment-generator.php
│ ├── class-nettingale-benchmark-config.php
│ ├── class-nettingale-benchmark-content-generator.php
│ ├── class-nettingale-benchmark-image-generator.php
│ ├── class-nettingale-benchmark-metrics-collector.php
│ ├── class-nettingale-benchmark-post-generator.php
│ ├── class-nettingale-benchmark-taxonomy-generator.php
│ └── class-nettingale-benchmark-user-generator.php
├── admin/views/ # Admin pages
│ ├── seed-data-page.php
│ ├── history-page.php
│ └── settings-page.php
└── assets/ # CSS and JavaScript
├── css/admin-styles.css
└── js/
├── batch-processor.js
├── cleanup-manager.js
├── metrics-display.js
└── settings-manager.js
- Initialize - Create run record
- Users - Generate users with all roles
- Taxonomies - Generate categories and tags
- Posts - Generate posts with images (batched)
- Pages - Generate pages with images (batched)
- Comments - Generate comments on posts
- Finalize - Collect metrics and mark complete
Single custom table: wp_nettingale_benchmark_runs
Generated content stored in standard WordPress tables with meta markers:
_nettingale_benchmark_item- Posts/pages_nettingale_benchmark_user- Users_nettingale_benchmark_comment- Comments_nettingale_benchmark_term- Categories/tags
git clone https://github.com/nettingale/nettingale-benchmark.git
ln -s $(pwd) /path/to/wordpress/wp-content/plugins/nettingale-benchmark- Follow WordPress Coding Standards
- Functions:
nettingale_benchmark_function_name() - Classes:
Nettingale_Benchmark_Class_Name - Files:
class-nettingale-benchmark-*.php
- ✅ Nonce verification on all forms/AJAX
- ✅ Capability checks (
manage_options) - ✅ Input sanitization
- ✅ Output escaping
- ✅ Prepared SQL statements
- Check GitHub Issues
- Fork and create feature branch
- Follow WordPress coding standards
- Test thoroughly
- Submit Pull Request
This plugin is 100% private and transparent:
- ❌ No data collection
- ❌ No external API calls
- ❌ No tracking or analytics
- ❌ No user profiling
- ✅ All data stays on your server
- ✅ Open source GPL code
- ✅ Fully auditable
See PRIVACY.md for complete details.
GNU General Public License v3 or later
Nettingale Benchmark - WordPress Performance Benchmarking Plugin
Copyright (C) 2024-2025 Nettingale
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
See LICENSE for full details.
- Bug Reports: GitHub Issues
- Documentation: GitHub Wiki
- Website: nettingale.com
This plugin generates large amounts of test data. Use on development, staging, or dedicated testing environments only. Do not use on production sites with live content. Always backup before use.
Made with ❤️ by Nettingale