Improve load test harness, automate execution and results#51
Open
robotdan wants to merge 17 commits intoFusionAuth:mainfrom
Open
Improve load test harness, automate execution and results#51robotdan wants to merge 17 commits intoFusionAuth:mainfrom
robotdan wants to merge 17 commits intoFusionAuth:mainfrom
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Automated benchmark suite comparing java-http against JDK HttpServer, Jetty, Netty, and Apache Tomcat. Includes wrk (C-based) and fusionauth-load-tests (Java-based) as benchmark tools with structured JSON output, README auto-updater, and GitHub Actions workflow. Also adds HTTP/1.1 compliance smoke tests for RFC 9110/9112 coverage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… tests - update-readme.sh now prefers hello scenario, adds high-concurrency stress table, includes machine specs and reproducibility CLI - Drop invocationCount=100 from 12 new compliance tests (default 1 is sufficient for protocol validation that closes the connection) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- update-readme.sh now adds a note about JDK HttpServer not being production-ready when high-concurrency results are present - Disable compression in Tomcat server.xml for fair benchmarking (other servers don't enable compression) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Position java-http as an independent open-source project. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Shows a live-updating elapsed time counter during each benchmark run so you can see how long the current test has been running. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Banner shows start time, final line shows total elapsed minutes/seconds. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Each test result line now ends with the wall-clock time it took to run. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Ensures wrk has sufficient file descriptors for high-concurrency benchmarks. macOS defaults can be as low as 256, which causes connection errors with -c1000. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
java-http always first, remaining servers sorted alphabetically. Prevents row order from shifting between runs when RPS changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix incorrect string repeat formula that produced wrong-sized blobs for the /file endpoint across all five server implementations. Fix misleading InputStream comments, correct cross-reference pointers, and restore invocationCount on case_insensitive_header_matching test. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The run-benchmarks.sh script requires CLI args, so run it directly from the load-tests directory instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ntary Capture machine model (e.g. MacBook Air) and OS version (e.g. macOS 15.7.3) in benchmark output and README footer. Add performance commentary to the README and update-readme.sh template explaining project positioning. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… URL Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
wrkandfusionauth-load-testbenchmark runnersTest plan
sb testto verify HTTP/1.1 socket tests passload-tests/directory with./run-benchmarks.sh🤖 Generated with Claude Code