Free, open-source Magento performance analysis CLI by EaseCloud
Project description
mageperf
Free, open-source Magento performance analysis CLI by EaseCloud
mageperf scans any Magento 2 store from your terminal — no account, no cloud, no data leaving your machine. It checks performance, security posture, and configuration best practices, then saves reports locally and optionally opens a browser UI.
Features
- Magento detection — fingerprints Magento version, edition, and deployment mode
- Performance analysis — Core Web Vitals via Google PageSpeed Insights API (optional)
- Security checks — exposed admin paths, debug mode, insecure headers
- Configuration checks — caching, JS/CSS merging, CDN, production mode
- Local reports — stored in
~/.easecloud/mageperf/reports/as JSON - Browser UI — rich report viewer served locally on port 4780
- JSON output — pipe results into scripts or AI agents
Installation
pip (recommended)
pip install easecloud-mageperf
npm / npx
npx @easecloud/mageperf analyze https://your-store.com
# or install globally
npm install -g @easecloud/mageperf
Docker
docker run --rm easecloud/mageperf analyze https://your-store.com
One-line install script
curl -fsSL https://raw.githubusercontent.com/easecloudio/mageperf/main/install.sh | bash
Quick start
# Analyze a store
mageperf analyze https://your-store.com
# Analyze and open the browser UI when done
mageperf analyze https://your-store.com --open
# JSON output (pipe into jq, scripts, AI agents)
mageperf analyze https://your-store.com --format json | jq .overall_score
# List saved reports
mageperf list
# Open the local report UI
mageperf serve
Commands
| Command | Description |
|---|---|
mageperf analyze <url> |
Run a full analysis |
mageperf list |
List saved reports |
mageperf open <id> |
Open a report in the browser UI |
mageperf serve |
Start the local report UI server |
mageperf clean |
Delete all saved reports |
mageperf config set <key> <value> |
Set a config value |
mageperf config get <key> |
Get a config value |
analyze options
| Flag | Default | Description |
|---|---|---|
--format |
summary |
Output format: summary, json, table |
--output <file> |
— | Write JSON report to a file |
--open |
off | Open browser UI after analysis |
--no-pagespeed |
off | Skip Google PageSpeed API calls |
Configuration
Config is stored in ~/.easecloud/mageperf/config.json.
# Set your Google PageSpeed API key (optional, improves accuracy)
mageperf config set pagespeed-api-key YOUR_KEY
# Change the local UI port (default: 4780)
mageperf config set server-port 4780
Get a free PageSpeed API key at Google Cloud Console.
Without a key, mageperf falls back to direct HTTP analysis.
How it works
Analysis runs in four layers:
- Magento detection — headers, HTML patterns, JS indicators, known paths
- Performance — PageSpeed Insights API (optional) or direct HTTP timing
- Security — admin URL exposure, debug headers, error reporting
- Configuration — caching strategy, JS/CSS bundling, deployment mode
All checks use only publicly available data. No credentials, no admin access required.
Output example
Overall Score: 74/100
Performance 82 ████████░░
Security 61 ██████░░░░
Config 79 ███████░░░
2 critical issues found. Run with --open to view full report.
Report saved: ~/.easecloud/mageperf/reports/abc123.json
Found critical issues? EaseCloud provides Magento performance optimization consulting — Core Web Vitals, caching strategy, infrastructure tuning, and more.
Development
git clone https://github.com/easecloudio/mageperf.git
cd mageperf
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Build the UI (requires Node 18+)
cd ui && npm install && npm run build
Project structure
mageperf/ Python package
cli.py Typer CLI entry point
config.py Config management (~/.easecloud/mageperf/)
core/ Analysis engine
magento_checker.py
performance_checker.py
analysis_orchestrator.py
scoring_service.py
storage/ Local JSON report store
server/ stdlib HTTP server + pre-built UI
static/ Pre-built Next.js UI
tests/ pytest test suite (20 tests)
ui/ Next.js 15 UI source (TypeScript)
Dockerfile Docker image build
install.sh Universal install script
package.json npm wrapper (@easecloud/mageperf)
Contributing
See CONTRIBUTING.md.
Work with EaseCloud
mageperf finds the problems. Need help fixing them?
We offer end-to-end Magento performance optimization — from diagnosis to implementation across caching, Core Web Vitals, infrastructure, and deployment.
Contact: support@easecloud.io · easecloud.io
License
MIT © EaseCloud
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file easecloud_mageperf-0.1.0.tar.gz.
File metadata
- Download URL: easecloud_mageperf-0.1.0.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aca5fd7f5cb142c477860097916526fd18bb7365a886d41a24a2e75b0c3a0d92
|
|
| MD5 |
3b480e184c045431a8587771b3feda10
|
|
| BLAKE2b-256 |
cf93a7620ecd8134069d136368f404756de7a125a9e253b848721d186b2d2c96
|
Provenance
The following attestation bundles were made for easecloud_mageperf-0.1.0.tar.gz:
Publisher:
publish.yml on easecloudio/mageperf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
easecloud_mageperf-0.1.0.tar.gz -
Subject digest:
aca5fd7f5cb142c477860097916526fd18bb7365a886d41a24a2e75b0c3a0d92 - Sigstore transparency entry: 1396623407
- Sigstore integration time:
-
Permalink:
easecloudio/mageperf@8cae01d07b25287afe350a69cf2323cb7d502e4e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/easecloudio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8cae01d07b25287afe350a69cf2323cb7d502e4e -
Trigger Event:
release
-
Statement type:
File details
Details for the file easecloud_mageperf-0.1.0-py3-none-any.whl.
File metadata
- Download URL: easecloud_mageperf-0.1.0-py3-none-any.whl
- Upload date:
- Size: 951.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01111aa307742b55b11ee1a5d8d2957f16d1631d72afb9397c16d6955c251a11
|
|
| MD5 |
b126bd7c20a6216925fd840f745bb218
|
|
| BLAKE2b-256 |
49929a985c4c8d70db5ca17552224beebccb62a3adb083054ed5ed2677f0c42d
|
Provenance
The following attestation bundles were made for easecloud_mageperf-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on easecloudio/mageperf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
easecloud_mageperf-0.1.0-py3-none-any.whl -
Subject digest:
01111aa307742b55b11ee1a5d8d2957f16d1631d72afb9397c16d6955c251a11 - Sigstore transparency entry: 1396623411
- Sigstore integration time:
-
Permalink:
easecloudio/mageperf@8cae01d07b25287afe350a69cf2323cb7d502e4e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/easecloudio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8cae01d07b25287afe350a69cf2323cb7d502e4e -
Trigger Event:
release
-
Statement type: