Skip to main content

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:

  1. Magento detection — headers, HTML patterns, JS indicators, known paths
  2. Performance — PageSpeed Insights API (optional) or direct HTTP timing
  3. Security — admin URL exposure, debug headers, error reporting
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easecloud_mageperf-0.1.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easecloud_mageperf-0.1.0-py3-none-any.whl (951.2 kB view details)

Uploaded Python 3

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

Hashes for easecloud_mageperf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 aca5fd7f5cb142c477860097916526fd18bb7365a886d41a24a2e75b0c3a0d92
MD5 3b480e184c045431a8587771b3feda10
BLAKE2b-256 cf93a7620ecd8134069d136368f404756de7a125a9e253b848721d186b2d2c96

See more details on using hashes here.

Provenance

The following attestation bundles were made for easecloud_mageperf-0.1.0.tar.gz:

Publisher: publish.yml on easecloudio/mageperf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file easecloud_mageperf-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for easecloud_mageperf-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01111aa307742b55b11ee1a5d8d2957f16d1631d72afb9397c16d6955c251a11
MD5 b126bd7c20a6216925fd840f745bb218
BLAKE2b-256 49929a985c4c8d70db5ca17552224beebccb62a3adb083054ed5ed2677f0c42d

See more details on using hashes here.

Provenance

The following attestation bundles were made for easecloud_mageperf-0.1.0-py3-none-any.whl:

Publisher: publish.yml on easecloudio/mageperf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page