A curated, opinionated list of tools and resources dedicated to Performance Testing as a continuous engineering practice — from workload design to results analysis.
A curated, opinionated list of tools and resources dedicated to Performance Testing as a continuous engineering practice — not just load generation.
Performance testing is about validating that systems behave acceptably under realistic conditions: expected load, peak traffic, degraded infrastructure, and adversarial scenarios. Done well, it provides confidence before deployment and evidence after incidents.
This list covers the full performance testing lifecycle — from workload design and data generation through load execution and chaos injection to results analysis and CI/CD integration.
🎯 Scope & Intent
This list is curated with the following principles:
Performance testing as a continuous discipline, not a pre-release gate
Emphasis on realistic workloads — production-like data, traffic patterns, and failure modes
Recognition that shift-left performance is essential — catching regressions in CI, not in staging
Tools that complement observability — because load generation without visibility is noise
Inclusion of chaos engineering as integral to performance validation — systems must perform under failure, not just under load
The goal is to help practitioners:
Select tools adapted to their technology stack, team size, and maturity
Build repeatable, realistic performance test suites that evolve with the system
Integrate performance feedback into delivery pipelines rather than treating it as a separate phase
🧭 How to Read This List
Tools are organized by functional category, but real performance testing often combines several categories. A complementary reading by use case:
🔎 Performance Testing by Use Case
Use case
Categories involved
Key tools
API load testing in CI/CD
Load testing, CI/CD integration
k6, Gatling, Artillery
Full-stack performance validation
Load testing, browser perf, observability
k6, Lighthouse, Grafana
Microservice resilience testing
Chaos engineering, service virtualization
Litmus, Gremlin, WireMock
Database performance benchmarking
Benchmarking, data generation
HammerDB, sysbench, pgbench
Frontend experience optimization
Browser performance, RUM
Lighthouse, WebPageTest, Playwright
Capacity planning & saturation testing
Load testing, HTTP benchmarking
Gatling, wrk2, Vegeta
Pre-production data realism
Data generation, service virtualization
Faker, DataFaker, WireMock
Legend
Symbol
Meaning
⭐
Widely adopted / reference solution
🟢
Actively maintained
🔵
Cloud-native / Kubernetes-friendly
🟠
Commercial / paid offering
📚
Extensive documentation
🚀
High performance / low overhead
🔗
CI/CD pipeline-ready
🧪
Developer-friendly / PoC-friendly
🧰
Operations heritage / legacy-friendly
Load & Stress Testing
Scriptable load generators for simulating realistic user traffic, validating throughput, and identifying breaking points.
k6 ⭐🟢🔵📚🔗🧪 — Modern load testing tool with JavaScript ES6 scripting. Developer-friendly, excellent CLI experience, native Prometheus/Grafana integration. Extensible via Go (xk6). Acquired by Grafana Labs. The current reference for shift-left performance testing. [Go] [AGPL-3.0] — GitHub
Gatling ⭐🟢📚🔗🚀 — High-performance load testing framework with Scala/Java/Kotlin DSL. Excellent for complex, protocol-level scenarios. Produces detailed HTML reports. Strong in enterprise Java environments. [Scala/Java] [Apache-2.0] — GitHub
Locust ⭐🟢📚🧪 — Python-based load testing framework. Define user behavior in plain Python code. Distributed mode for scaling. Low barrier to entry for Python teams. [Python] [MIT] — GitHub
Apache JMeter ⭐🟢📚🧰 — Veteran load testing tool with GUI and extensive protocol support (HTTP, JDBC, JMS, LDAP, SOAP, etc.). Massive plugin ecosystem. Heavyweight but unmatched protocol breadth. Still widely used in enterprise testing. [Java] [Apache-2.0] — GitHub
Artillery 🟢🔵🔗🧪 — Node.js-based load testing toolkit with YAML-based scenarios. Cloud-native, good Kubernetes support. Supports HTTP, WebSocket, Socket.io, and custom engines. [Node.js] [MPL-2.0] — GitHub
NBomber 🟢🔗🧪 — Load testing framework for .NET. C#/F# scripting with a focus on developer ergonomics. v5+ requires commercial license for organizational use (v4 remains Apache-2.0). [C#] [Commercial/Apache-2.0] — GitHub
Tsung 🚀🧰 — Distributed, multi-protocol load testing tool built on Erlang. Handles massive concurrent connections efficiently. Supports HTTP, WebSocket, XMPP, LDAP, and database protocols. Low maintenance activity since 2023. [Erlang] [GPL-2.0]
GoReplay (gor) 🟢🚀 — Capture and replay production HTTP traffic for load testing and monitoring. Uses real traffic patterns for maximum realism. [Go] [LGPL-3.0] — GitHub
Anteon (formerly Ddosify) 🔵🧪 — eBPF-based Kubernetes monitoring and performance testing platform with distributed load generation and visual UI. Reduced development activity since mid-2024. [Go] [AGPL-3.0] — GitHub
Neoload 🟠📚 — Enterprise performance testing platform with codeless and as-code options. Strong SAP, Citrix, and legacy protocol support. [Commercial]
LoadRunner / OpenText 🟠🧰 — The legacy enterprise standard for performance testing. Broad protocol support. Expensive but deeply embedded in many large organizations. [Commercial]
HTTP Benchmarking & Micro-Benchmarking
High-precision tools for measuring HTTP server throughput, latency distributions, and saturation behavior. Complementary to full load testing — focused on raw numbers rather than user scenarios.
wrk2 🚀 — Constant-throughput HTTP benchmarking tool that produces accurate latency histograms (HdrHistogram). Fixes the coordinated omission problem present in most benchmarking tools. Essential for understanding true tail latency. Stable but not actively maintained (last significant commits ~2019). [C] [Apache-2.0]
wrk 🚀 — Modern HTTP benchmarking tool with Lua scripting. Fast and simple, but susceptible to coordinated omission. Best used for relative comparisons, not absolute latency measurement. Stable, minimal recent activity. [C] [Apache-2.0]
Vegeta 🟢🚀🔗 — HTTP load testing tool with constant request rate mode. Clean CLI, library usage in Go, and built-in plotting. Good for saturation testing. [Go] [MIT]
hey 🟢🧪 — Simple HTTP load generator. Successor to Apache Bench (ab). Quick and easy for ad-hoc benchmarks. [Go] [Apache-2.0]
oha 🟢🚀🧪 — HTTP load generator with real-time TUI. Written in Rust for performance. Modern alternative to hey/ab. [Rust] [MIT]
bombardier 🟢🚀 — Fast, cross-platform HTTP benchmarking tool with good latency reporting. [Go] [MIT]
hyperfoil 🟢🔵🚀 — Distributed benchmarking framework designed to avoid coordinated omission. Built for microservice architectures. [Java] [Apache-2.0] — GitHub
A note on coordinated omission: Many benchmarking tools (including wrk, ab, and hey) report misleadingly optimistic latencies because they don’t account for queuing delay when the server is overloaded. Tools like wrk2, Vegeta (constant-rate mode), and Hyperfoil explicitly address this. For serious latency analysis, this matters. See Gil Tene’s talk for the full explanation.
API Testing & Contract Testing
Validating API behavior, correctness, and performance at the service boundary — where performance issues often originate and are cheapest to detect.
Hurl 🟢🔗🧪 — Run and test HTTP requests with plain text. Excellent for API testing in CI pipelines. Supports assertions, captures, and chaining. [Rust] [Apache-2.0] — GitHub
Postman ⭐🟢📚🟠 — API development and testing platform. Collection Runner for basic load testing. Newman CLI for CI/CD integration. Ubiquitous in API development. [Commercial/Free tier]
REST-assured 🟢📚 — Java DSL for testing REST APIs. Fluent syntax, integrates with JUnit/TestNG. Standard for Java-based API testing. [Java] [Apache-2.0] — GitHub
Karate 🟢📚🧪 — BDD-style API testing framework that combines API testing, mocking, and performance testing. Unique Gherkin-like syntax for non-developers. Built-in Gatling integration for load testing. [Java] [MIT] — GitHub
Step CI 🟢🔗🧪 — Open-source API testing and monitoring framework. YAML-based workflow definitions, designed for CI/CD. [TypeScript] [MPL-2.0] — GitHub
Pact 🟢🔗 — Contract testing framework for HTTP APIs and messaging. Ensures provider-consumer compatibility without integration tests. Catches breaking changes that cause performance degradation. [Multiple] [MIT] — GitHub
Dredd 🔗🧰 — API testing from API description documents (OpenAPI, API Blueprint). Validates implementation matches specification. In maintenance mode. [JavaScript] [MIT]
gRPC & Protocol-Specific Testing
Performance testing beyond HTTP — gRPC, WebSocket, message queues, and other protocols that power modern architectures.
ghz 🟢🚀🔗 — Simple gRPC benchmarking and load testing tool. Supports unary and streaming RPCs, configurable concurrency, and multiple output formats (CSV, JSON, HTML). [Go] [Apache-2.0] — GitHub
k6 + xk6-grpc 🟢🔵🔗 — k6 extension for gRPC load testing. Scriptable gRPC scenarios with the full k6 ecosystem. [Go] [AGPL-3.0]
k6 + xk6-kafka 🟢🔵🔗 — k6 extension for Apache Kafka load testing. Produce and consume messages at scale. [Go] [Apache-2.0]
RabbitMQ PerfTest 🟢 — Official benchmarking tool for RabbitMQ. Measures throughput and latency for publishing and consuming. [Java] [Apache-2.0/MPL-2.0]
k6 + xk6-websockets 🟢🔵🔗 — Built-in k6 WebSocket support for testing real-time applications, streaming APIs, and bidirectional protocols. [Go] [AGPL-3.0]
Browser & Frontend Performance
Measuring and optimizing the performance users actually experience — Core Web Vitals, rendering, resource loading, and perceived speed.
Lighthouse ⭐🟢📚🔗 — Google’s auditing tool for performance, accessibility, SEO, and best practices. Produces actionable scores and recommendations. Runnable in Chrome DevTools, CLI, or CI. The baseline for web performance assessment. [JavaScript] [Apache-2.0] — GitHub
WebPageTest ⭐🟢📚 — Deep web performance analysis with filmstrip views, waterfall charts, and multi-location testing. The gold standard for detailed frontend performance diagnosis. Self-hostable. [PHP] [Apache-2.0] — GitHub
Playwright ⭐🟢📚🔗 — Browser automation framework with built-in performance timing APIs. Supports Chromium, Firefox, and WebKit. Excellent for performance testing of single-page applications. [TypeScript] [Apache-2.0] — GitHub
Sitespeed.io 🟢🔗📚 — Open-source toolkit for monitoring and measuring web performance. Integrates Lighthouse, WebPageTest, and browser-level metrics into dashboards (Grafana). Strong for continuous performance monitoring. [JavaScript] [MIT] — GitHub
Puppeteer 🟢📚 — Chrome DevTools Protocol API for Node.js. Enables programmatic access to Chrome performance traces, network interception, and rendering metrics. [TypeScript] [Apache-2.0] — GitHub
Yellowlab Tools 🟢🧪 — Online tool for auditing frontend code quality and performance. Detects heavy JavaScript, CSS complexity, and rendering issues. [JavaScript] [GPL-2.0] — GitHub
SpeedCurve 🟠 — Continuous frontend performance monitoring with Core Web Vitals tracking, competitive benchmarking, and visual regression. [Commercial]
Service Virtualization & Mocking
Simulating dependencies to isolate components for targeted performance testing — essential when real services are unavailable, expensive, or rate-limited.
WireMock ⭐🟢📚🔵 — Flexible HTTP mock server and service virtualization tool. Supports request matching, stateful behavior, response templating, and fault injection. Runs standalone or embedded in JVM tests. [Java] [Apache-2.0] — GitHub
Mountebank 🟢📚 — Multi-protocol service virtualization (HTTP, HTTPS, TCP, SMTP). Supports stubs, proxies, and injection. Test doubles over the wire. [JavaScript] [MIT] — GitHub
Hoverfly 🟢🔵 — Lightweight service virtualization for API simulation and testing. Capture-and-replay mode for building realistic simulations from production traffic. [Go] [Apache-2.0] — GitHub
MockServer 🟢 — Enables mocking of any HTTP/HTTPS system via expectations. Supports forward and callback actions. [Java] [Apache-2.0] — GitHub
Microcks 🟢🔵 — Open-source tool for API mocking and testing. Imports OpenAPI, AsyncAPI, gRPC, GraphQL, and SOAP contracts. Kubernetes-native. [Java] [Apache-2.0] — GitHub
Toxiproxy 🟢🔗 — TCP proxy for simulating network conditions (latency, bandwidth, connection failures). From Shopify. Invaluable for testing how applications handle degraded networks. (See also: Chaos Engineering, Network Simulation) [Go] [MIT]
Synthetic Data Generation
Creating realistic test datasets that reflect production cardinality, distributions, and edge cases — one of the most underestimated aspects of performance testing realism.
Faker ⭐🟢📚🧪 — Generate realistic fake data (names, addresses, emails, etc.) in JavaScript/TypeScript. Massive locale support. Available in many languages (Python, Ruby, Java — use DataFaker, Go). [TypeScript] [MIT] — GitHub
DataFaker 🟢📚 — Modern Java data generation library. Successor to java-faker with better performance, more providers, and expression-based generation. [Java] [Apache-2.0] — GitHub
Mimesis 🟢🚀 — High-performance fake data generator for Python. Faster than Faker for bulk generation. Strong locale support. [Python] [MIT] — GitHub
Neosync 🔵🧪 — Open-source platform for anonymizing production data and generating synthetic datasets. Acquired by Grow Therapy in 2025; no longer actively maintained. Still usable as a self-hosted solution. [Go] [MIT] — GitHub
Database Performance Testing & Benchmarking
Validating database throughput, query performance, and scalability — often the critical bottleneck in application performance.
HammerDB ⭐🟢📚 — Open-source database benchmarking tool supporting TPC-C and TPC-H workloads. Supports Oracle, SQL Server, PostgreSQL, MySQL, and MariaDB. Industry standard for database benchmarks. [Tcl] [GPL-2.0] — GitHub
sysbench ⭐🟢🚀 — Scriptable multi-threaded benchmark tool. Database benchmarks (OLTP), CPU, memory, and file I/O tests. Standard tool for MySQL/MariaDB performance evaluation. [C] [GPL-2.0]
YCSB (Yahoo! Cloud Serving Benchmark) ⭐🟢 — Framework for benchmarking NoSQL and NewSQL databases. Standard workloads (A-F) enable fair comparison across database technologies. [Java] [Apache-2.0]
benchbase (formerly OLTPBench) 🟢 — Multi-DBMS benchmarking framework supporting TPC-C, TPC-H, YCSB, and other workloads. From Carnegie Mellon Database Group. [Java] [Apache-2.0]
mysqlslap 🧰 — MySQL built-in load emulation client. Quick and simple for MySQL-specific benchmarks. [C] [GPL-2.0]
System & Infrastructure Benchmarking
Measuring raw system performance — CPU, memory, disk I/O, network — to establish baselines and validate infrastructure before application-level testing.
fio ⭐🟢🚀 — The reference tool for I/O benchmarking. Configurable workloads (sequential, random, mixed), multiple I/O engines (libaio, io_uring, etc.). Essential for storage performance evaluation. [C] [GPL-2.0] — GitHub
stress-ng 🟢🚀 — System stress testing tool covering CPU, memory, I/O, network, and OS-level stressors. 300+ stress methods. Excellent for validating system stability and thermal limits. [C] [GPL-2.0]
Phoronix Test Suite 🟢📚 — Comprehensive benchmarking platform with 500+ test profiles. Automated testing, result comparison, and historical tracking. [PHP] [GPL-3.0] — GitHub
iperf3 ⭐🟢🚀 — Network bandwidth measurement tool. TCP/UDP throughput testing between two endpoints. The standard for network performance validation. [C] [BSD-3-Clause] — GitHub
Chaos Engineering & Fault Injection
Testing system behavior under failure — because production will introduce faults you didn’t plan for. Performance under degradation is performance that matters.
Chaos Monkey ⭐🟢 — Netflix’s original chaos tool: randomly terminates instances in production. Pioneered the discipline. [Go] [Apache-2.0] — GitHub
Pumba 🟢🔵 — Chaos testing for Docker containers. Kill, pause, stop containers and inject network delays/packet loss. Lightweight alternative to full chaos platforms. [Go] [Apache-2.0]
Toxiproxy 🟢🔗 — TCP proxy for simulating network conditions. Programmatic control of latency, bandwidth, and connection failures. Simple, focused, effective. [Go] [MIT]
AWS Fault Injection Service 🟠🔵 — Managed fault injection for AWS resources. Native integration with AWS services. [Commercial]
Network Simulation & Traffic Shaping
Simulating real-world network conditions — latency, packet loss, bandwidth constraints — to test application behavior over imperfect networks.
tc (Traffic Control) 🧰 — Linux kernel traffic shaping. Netem qdisc for network emulation (delay, loss, reordering, corruption). The foundational tool. [C] [GPL-2.0]
Toxiproxy 🟢🔗 — Application-level TCP proxy for simulating network conditions. Easier to use than tc for application-level testing. [Go] [MIT]
Comcast 🧪🧰 — Simple CLI tool for simulating bad network conditions (packet loss, latency, bandwidth). Wraps tc/pfctl. No longer actively maintained. [Go] [Apache-2.0]
Clumsy 🟢🧪 — Windows network condition simulator. Drop, lag, throttle, and reorder packets. [C] [MIT] — GitHub
CI/CD Integration & Performance Gates
Embedding performance validation into delivery pipelines — making performance feedback continuous rather than episodic.
k6 + k6-operator ⭐🟢🔵🔗 — Run distributed k6 load tests in Kubernetes via a custom operator. Native threshold-based pass/fail for pipeline gates. [Go] [Apache-2.0]
Gatling Enterprise 🟠🔗 — Managed Gatling execution with CI/CD integrations, team collaboration, and historical comparison. [Commercial]
Lighthouse CI 🟢🔗 — Run Lighthouse in CI with performance budgets. Assert on scores, compare against baselines, and track trends. [JavaScript] [Apache-2.0]
Sitespeed.io 🟢🔗 — Continuous web performance monitoring with CI/CD integration. Performance budgets, Grafana dashboards, and historical tracking. [JavaScript] [MIT] — GitHub
Taurus 🟢🔗📚 — Automation wrapper for JMeter, Gatling, Locust, and other tools. YAML-based test configuration, unified reporting. Simplifies CI/CD integration for existing test suites. [Python] [Apache-2.0] — GitHub
Grafana k6 Cloud 🟠🔗 — Managed k6 execution with CI/CD integration and geographic distribution. (See Commercial & SaaS for details) [Commercial]
BlazeMeter 🟠🔗 — Cloud performance testing with native CI/CD pipeline integration. (See Commercial & SaaS for details) [Commercial]
Results Analysis & Reporting
Tools for making sense of performance test results — visualization, comparison, trend analysis, and communication.
Grafana ⭐🟢📚 — Visualize k6, Gatling, and JMeter results alongside observability data in unified dashboards. The natural integration point between testing and observability. [TypeScript/Go] [AGPL-3.0] — GitHub
k6 HTML Report 🟢🧪 — Generate standalone HTML reports from k6 test results. [JavaScript] [MIT]
HdrHistogram 🟢🚀 — High Dynamic Range Histogram for latency measurement. Captures the full distribution without data loss. Foundation of accurate latency reporting. Available in Java, Go, C, and more. [Multiple] [BSD-2-Clause/Public Domain]
Gatling Reports 🟢 — Built-in HTML reports with percentile distributions, request/response time series, and active users timeline. Generated automatically after each Gatling run. [Scala]
Apache JMeter Dashboard 🟢🧰 — Built-in HTML dashboard report generator for JMeter. Produces APDEX scores, response time distributions, and throughput analysis. [Java]
Taurus Reporting 🟢🔗 — Unified reporting across multiple load testing engines. BlazeMeter integration for cloud reporting. [Python]
Commercial & SaaS Platforms
Integrated performance testing platforms for teams that need managed infrastructure, geographic distribution, collaboration features, and enterprise support. Choosing between SaaS and open-source is often a question of team maturity, scale, and budget — not technical capability.
Cloud Provider Services
Azure App Testing 🟠🔵📚 — Microsoft’s managed load testing service (formerly Azure Load Testing, rebranded September 2025). Supports JMeter and Locust natively with multi-region traffic simulation, server-side metrics correlation via Azure Monitor, and CI/CD integration (Azure DevOps, GitHub Actions). Copilot-assisted test authoring. Pay-per-use pricing (~$0.15/VUH). The most complete first-party cloud provider offering for performance testing. [Commercial]
AWS Distributed Load Testing 🟠🔵 — AWS Solutions Implementation that deploys a distributed load testing architecture via CloudFormation (ECS Fargate). Supports JMeter, k6, and Locust scripts. Multi-region execution, scheduling, and baseline comparison. Not a managed SaaS — you deploy and pay for the underlying AWS resources. [Commercial] — GitHub
Developer-Centric Platforms
Grafana k6 Cloud 🟠🔗 — Managed k6 execution with geographic distribution across multiple global load zones, real-time result visualization in Grafana, and native CI/CD integration. Performance Insights provide automated analysis of test results. The natural choice for teams already using k6 OSS who need scale and collaboration. [Commercial]
Octoperf 🟠🔗📚 — SaaS performance testing platform built on JMeter with a modern UI, team collaboration, and trend analysis. European-hosted (GDPR-compliant). Supports JMeter scripts natively with enhanced reporting and distributed load generation. Good fit for teams migrating from JMeter to a managed platform. [Commercial]
Flood (Tricentis) — Cloud load testing platform supporting JMeter, Gatling, and Selenium. Decommissioned in June 2024. Tricentis has migrated users to NeoLoad. Listed for historical reference only.
Enterprise Platforms
BlazeMeter 🟠🔗📚 — Cloud performance testing supporting JMeter, Gatling, Locust, Selenium, and Playwright. Mock services, API monitoring, and shared workspaces. Part of Perforce. [Commercial]
Neoload (Tricentis) 🟠📚 — Enterprise performance testing with codeless design, as-code scripting, and RPA-based protocol support. Strong coverage for SAP, Citrix, and legacy protocols. SLA-based analysis and CI/CD integration. [Commercial]
LoadRunner / OpenText 🟠🧰 — The legacy enterprise standard with the broadest protocol support in the industry (50+ protocols). LoadRunner Professional (on-premise) and LoadRunner Cloud (SaaS). Deep APM integration. Expensive but deeply embedded in regulated industries. [Commercial]
Gatling Enterprise 🟠🔗 — Managed Gatling with distributed execution, real-time dashboards, historical comparison, and team collaboration. Self-hosted or cloud options. [Commercial]
🤖 AI-Augmented Performance Testing
AI is entering the performance testing lifecycle — from test generation and workload modeling to results analysis. For the broader perspective on AI in performance engineering, see the README.
Key areas where AI delivers value in performance testing today:
Test script generation — LLMs generate k6, Gatling, or JMeter scripts from OpenAPI specs, reducing scaffolding effort
Workload modeling — AI analyzes production traffic patterns to generate statistically representative load profiles
Automated results analysis — ML-based anomaly detection flags regressions that static thresholds miss (gradual degradation, bimodal latency distributions)
Natural language querying — asking “what caused the latency spike at minute 12?” instead of navigating dashboards
Tools & Integrations
k6 Cloud Performance Insights 🟠 — Automated analysis of k6 test results. Identifies performance issues, correlates metrics, and suggests root causes. [Commercial]
Datadog Synthetic Monitoring + AI 🟠 — Synthetic API and browser tests with ML-powered anomaly detection and intelligent alerting. Correlates synthetic test failures with APM traces. [Commercial]
Dynatrace Load Testing Integration 🟠 — Automated quality gates in CI/CD using AI-based performance evaluation. Davis AI compares test results against baselines and detects anomalies in real time. [Commercial]
Checkly 🟢🔗 — Monitoring-as-code with Playwright-based synthetic tests. AI-assisted test generation from browsing sessions (beta). [TypeScript] [Free tier/Commercial] — GitHub
LLM-assisted test scripting — GitHub Copilot, Claude Code, and similar AI coding assistants are increasingly effective at generating load test scripts from natural language descriptions or API specifications. Not a standalone tool, but a workflow shift worth noting.
What’s Coming Next
Adaptive quality gates — AI that learns performance baselines across releases and detects statistically significant regressions beyond static thresholds
Self-tuning load scenarios — dynamic adjustment of workload profiles (ramp-up, request mix, data patterns) based on observed system behavior during tests
Performance copilots — AI assistants for end-to-end test strategy: design, execution, analysis, and optimization recommendations
Predictive impact analysis — given a code change (PR diff), predicting which performance aspects are affected and recommending targeted tests
Practitioner’s view: AI is most valuable for eliminating mechanical work (script scaffolding, result triage, report generation) and augmenting analytical tasks (identifying regressions, correlating signals). It does not replace workload design thinking, system understanding, or architectural judgment. Use AI to generate the first draft, then apply engineering expertise to make it realistic.
Learning Resources
Books
Performance Testing & Methodology
The Art of Application Performance Testing — Ian Molyneaux (O’Reilly, 2nd ed. 2014) — Complete performance testing lifecycle from strategy to execution, by a 30+ year industry veteran
Performance Testing Guidance for Web Applications — Microsoft patterns & practices — Free online
Every Computer Performance Book — Bob Wescott — Practical, vendor-neutral performance analysis methodology
Performance Solutions — Connie U. Smith, Lloyd G. Williams (Addison-Wesley, 2001) — Software Performance Engineering (SPE) methodology: model performance before building
Systems Performance
Systems Performance — Brendan Gregg (Addison-Wesley, 2nd ed. 2020) — The definitive guide to systems performance analysis and methodology
Understanding Software Dynamics — Richard L. Sites (Addison-Wesley, 2021) — Modern performance profiling with KUtrace, by the DEC Alpha co-architect
The Art of Computer Systems Performance Analysis — Raj Jain (Wiley, 1991) — Measurement techniques, experimental design, simulation, queueing models — the foundational textbook
Capacity Planning & Scalability
The Art of Capacity Planning — John Allspaw, Arun Kejariwal (O’Reilly, 2nd ed. 2017) — Practical capacity planning for web operations
Guerrilla Capacity Planning — Neil J. Gunther (Springer, 2007) — Universal Scalability Law (USL) and tactical capacity planning
High Performance Browser Networking — Ilya Grigorik (O’Reilly) — Free online — Essential reading for frontend and network performance
High Performance Web Sites — Steve Souders (O’Reilly, 2007) — The 14 rules that started modern web performance optimization
Web Performance in Action — Jeremy L. Wagner (Manning, 2017) — HTTP/2, rendering optimization, automated workflows
Database Performance
SQL Performance Explained — Markus Winand — Free online — Vendor-agnostic indexing guide for Oracle, MySQL, PostgreSQL, SQL Server
High Performance MySQL — Silvia Botros, Jeremy Tinley (O’Reilly, 4th ed. 2021) — MySQL optimization at scale
Systems Thinking
Performance Engineering — Giuseppe Serazzi (Springer, 2023) — Free / Open Access — Performance evaluation through case studies using Java Modelling Tools (JMT)
Thinking in Systems: A Primer — Donella Meadows (Chelsea Green, 2008) — Stocks, flows, feedback loops, and leverage points — essential for capacity reasoning
ACM SIGMETRICS — Premier academic venue for performance evaluation research
A Survey on Load Testing of Large-Scale Software Systems — Jiang & Hassan (IEEE TSE, 2015) — Comprehensive survey covering load design, execution, and analysis
Software Performance AntiPatterns — Smith & Williams (WOSP, 2000) — Foundational catalog of recurring performance problems and solutions
Hunter: Using Change Point Detection for Performance Regressions — MongoDB (ICPE, 2023) — Automated regression detection in CI/CD
Contributing
Contributions are welcome. Please read CONTRIBUTING.md before submitting changes.