0.1 - Initial Release - #4
Conversation
|
@danpastori: Everything is ready for development 😃 I published an overview of how this product will work here: https://x.com/jaydrogers/status/1969076671295705351 Let me know if you have any questions on any parts of the scope. Keep me posted when it's ready for testing 👍 |
…ation Initial Configuration
6 create homepage
|
@jaydrogers The functionality for 0.1 is ready for review! |
|
One major challenge:
Problem:
|
|
@jaydrogers I've been trying to update the base image in development for testing but I don't think my change is being recognized. In When I bring up Benchkit, it still shows 8.4: I ran |
|
@danpastori: You'll need to use this to build: PHP_VERSION=8.2 spin up --buildOther notes about which testsYou mentioned something about these being more around databases when we should be benchmarking PHP. Your thought was to use
|
|
@jaydrogers I believe I found why the docker images aren't building. Are you copying the vendor directory into each build? If you change the PHP version, then run a composer install, it pulls the proper packages based on PHP version support. If you copy the vendor directory from say 8.4 -> 8.2 it won't work. How I got different versions to work:
The proper packages were pulled and everything worked just fine. Laravel 12 supports 8.2 and higher so that should align. |
|
@jaydrogers The other benchmarks we'd run are:
|
|
@danpastori Just a heads up, v2026.01.26 of our Composer package upgrades Look at their release notes to see what's new: https://github.com/code-inflation/cfspeedtest/releases If everything looks good, I'd advise to upgrade the composer package to the 2026 version for Their major change
|
…ensuring consistency in database connection settings.
…ed local development logging.
…t to version 2026.07, and refactor benchmark handling in the frontend. Enhance PhpBenchmarkController to utilize PhpBenchmarkRequest, improve StreamedProcess for better process management, and streamline SettingsDrawer and Home components for improved user experience. Add new computed properties and methods for better state management in useSettings and useBenchmarkQueue.
…d add warning message in BenchmarkResults.vue for full PHP suite duration, clarifying that it runs 80+ benchmarks and can take 30+ minutes.
…arn.lock; refactor app title in app.blade.php for improved clarity; enhance Index.vue and Completed.vue for better state management and user experience.
… reposition the drawer to the right side for improved user experience.
…imations, repositioning elements for better UX, and adding an external endpoints modal for user flexibility. Adjust button styles for consistency and accessibility.
… components for improved user experience. Enhance HttpBenchmarkResults with a new detail method for parsing oha JSON files, and adjust HttpBenchmarkController to execute the summary command correctly. Update UI components to reflect changes in terminology from "Web Server Test" to "Web Server Load Test" for consistency.
…rage; implement SQLite database creation logic in AppServiceProvider for improved setup on fresh installs.
… with rotation and improved accessibility. Update Background component's ember animation delays for enhanced visual effects.
…ocker, enhancing clarity for users setting up the environment.
…lidation and sentinel body checks. Update HttpBenchmarkResults to skip results with zero bytes transferred and implement tests to ensure proper handling of targets that do not meet criteria.
…ode display logic and adding target labels for clarity. Introduce httpTargetLabel function in useRunSummary.js to standardize mode descriptions across components.
…obsolete benchmark request classes and streaming process. This update introduces a command to clear stuck benchmark runs and cleans up unused request classes and streaming logic for better maintainability.
…d improve user experience. Update documentation to clarify run behavior across tabs, enhance controller logic for active run retrieval, and streamline benchmark stage handling. Remove obsolete request classes and implement a new command for clearing stuck runs, ensuring better maintainability and clarity in the codebase.
… installation instructions in CONTRIBUTING.md, and refactor docker-compose.dev.yml to utilize environment variables for domain settings. Adjust vite.config.js to support dynamic HMR host configuration, improving flexibility for local development.
…rtificate content for enhanced security and compatibility in the Traefik configuration.
…ity. Update spacing and layout in BenchmarkConsole, Chip, and various Run panels for improved mobile responsiveness. Add guidelines for Vite dev server usage in conventions.md and implement local storage for run tracking in useBenchmarkQueue.js, ensuring a smoother user experience during benchmark runs.
… docker-compose.dev.yml to allow for live PHP edits with OPcache timestamp validation. Modify Dockerfile to set default OPcache settings, enhancing performance while maintaining flexibility for development environments.
…istency. Update request per second display to use a more structured format with adjusted spacing and font sizes, enhancing the overall user interface.
…lation route and updating related components. Add support for simulating outbound call delays in the benchmark settings, including validation for I/O response time. Update configuration and UI elements to reflect the new I/O settings, ensuring improved accuracy in performance testing. Enhance tests to validate the new I/O functionality and its integration within the benchmark process.
…proved readability and consistency. Adjust spacing, font sizes, and alignment to enhance the user interface across different screen sizes.


🚀 0.1 - Initial Release
🤩 We're building this in public
@danpastori and I are excited to work together in public and show you more on our approach to building Laravel applications.
🛠️ Products we're using to build this
🤝 Follow along
If you're excited to see the progress, subscribe to this PR and follow us to see the latest updates:
👉 Problems this project solves
We're working on releasing FrankenPHP as a new variation on serversideup/php. We read online that things are much faster with FrankenPHP, but it's hard to quantify what that really means.
We need an application that is disposable and repeatable to standardize benchmark tests that help us understand PHP performance tuning with Laravel.
👋 Say hello to BenchKit
BenchKit is our open source Laravel application that is designed to give us real world numbers with Laravel. Instead of just taking arbitrary performance metrics and guessing what's actually faster, BenchKit will show us results in operations per second with Laravel.
This means you can run the same tests across different hardware, hosts, configurations and truly see how much faster Laravel is 🪄
🎯 Project Scope
👇 Use the link below to view what tasks are in scope of this project.
🎨 Design Assets
All assets in this project are stored in our Figma documentation.
Preview
👨🔬 How to test this PR
This PR is available for testing with using any image prefixed by
pr-3on DockerHub. For example, the default image is:This means you can run a simple test on any Docker machine with:
You can swap out the PHP version and variation too 🤓