Benchphant is a modern, user-friendly database stress testing tool that supports MySQL (including MySQL clusters) and PostgreSQL databases. It provides a beautiful web interface for configuring and monitoring database performance tests, inspired by industry-standard tools like sysbench and TPC-C.
- Modern Web UI - Beautiful, responsive interface with real-time monitoring
- Security First - Built-in authentication and encryption
- Rich Visualizations - Interactive charts and comprehensive reports
- Theme Support - Light/Dark modes for comfortable viewing
- Multi-DB Support - MySQL, PostgreSQL, and more coming soon
- Advanced Metrics - QPS, latency percentiles, resource usage
- Detailed Reports - Test history and comparative analysis
- Local Storage - SQLite-based configuration and results storage
- Plugin System - Extensible architecture for custom workloads
- Docker Ready - Easy deployment with Docker and Docker Compose
- Comprehensive Testing - Extensive test coverage and static analysis
- Code Quality - Enforced by golangci-lint and continuous integration
- Go 1.21 or later
- Node.js 16 or later
- npm or yarn
go install github.com/deadjoe/benchphant@latest
docker pull deadjoe/benchphant
docker run -p 8080:8080 deadjoe/benchphant
benchphant
The application will automatically open in your default web browser at http://localhost:8080
.
Default credentials:
- Username:
bench
- Password:
bench
# Get dependencies
go mod download
# Run tests with coverage
go test -v -race -coverprofile=coverage.txt -covermode=atomic ./...
# Run linters
go vet ./...
golangci-lint run
# Install dependencies
cd web
npm install
# Start development server
npm run dev
# Run tests
npm test
# Build for production
npm run build
We welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- sysbench - Inspiration for benchmark workloads
- TPC - Industry standard database benchmarks
- Vue.js - Frontend framework
- Chart.js - Beautiful charts
- Tailwind CSS - Styling