Skip to content

deadjoe/benchphant

Repository files navigation

BenchPhant

Go Report Card GoDoc License Build Status codecov Go Version Release

Benchphant Logo

Modern Database Performance Testing Made Easy

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.

Features

  • 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

Quick Start

Prerequisites

  • Go 1.21 or later
  • Node.js 16 or later
  • npm or yarn

Installation

Using Go

go install github.com/deadjoe/benchphant@latest

Using Docker

docker pull deadjoe/benchphant
docker run -p 8080:8080 deadjoe/benchphant

Running Locally

benchphant

The application will automatically open in your default web browser at http://localhost:8080.

Default credentials:

  • Username: bench
  • Password: bench

Development

Backend Development

# 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

Frontend Development

# Install dependencies
cd web
npm install

# Start development server
npm run dev

# Run tests
npm test

# Build for production
npm run build

Documentation

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Acknowledgments

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published