BenchKit is a free and open source Laravel application that shows you how performance changes across hosts, hardware, and PHP configurations. You run it on the server you want to measure, and it reports what that machine does with a Laravel workload.
It's a standalone app rather than a package you install. Spin it up, run a benchmark, share the result, then throw it away. Your own codebase is never involved.
| Stage | Tool | What it measures |
|---|---|---|
| Hardware | YABS | CPU and disk, through Geekbench and fio |
| Network | cfspeedtest | Latency and bandwidth to Cloudflare |
| Web server load | oha | Requests per second and latency, per route |
| PHP and database | phpbench | Timing for individual PHP and database operations |
Every run uses the same load settings unless you change them, which is what makes it meaningful to put your numbers next to somebody else's.
You need a server and Docker. Nothing else.
# Install Docker (skip if you already have it)
curl -fsSL https://get.docker.com | bash
# Start BenchKit
docker run -p 80:8080 \
-v benchkit-runs:/var/www/html/storage/app/runs \
serversideup/benchkit-laravel:latestOpen http://<your-server-ip>/ in your browser and press Start Benchmark.
A few things worth knowing:
- The run belongs to the server, not to your browser. Close the tab, reload the page, or follow along from your phone without disturbing it.
- The volume holds your run history. Without it, your results disappear with the container.
- Pick Quick or Full in the settings drawer before you start. BenchKit estimates how long your choice will take.
The same application ships on three web servers, so any difference between two runs comes from the server rather than the code. The tag you pull decides which one you get.
| Variation | How PHP is served | Tag |
|---|---|---|
| FPM-NGINX | nginx hands PHP requests to PHP-FPM | latest |
| FrankenPHP | One binary serves PHP directly | frankenphp |
| FPM-Apache | Apache hands PHP requests to PHP-FPM | fpm-apache |
Run each one on the same machine, then open the runs side by side in Compare. FrankenPHP also runs in Octane worker mode from the same image, which is the cleanest comparison the tool can make.
The community results gallery collects real runs across different hosts, hardware, and PHP configurations. Adding yours is how the next person finds a machine like the one they're considering.
Press Submit result when a run finishes. BenchKit shows you the exact document first, then opens a pre-filled GitHub issue. A bot validates it and opens a pull request. Submitting is optional, and BenchKit never sends anything anywhere on its own.
You can also share a run as an image on X with #BenchKit.
What gets published, and what never does β
π Full documentation lives at serversideup.net/open-source/benchkit.
- Running from source β for Laravel Cloud, Railway, or any host that takes a repository instead of a container.
- Adding a real database β point BenchKit at MySQL, MariaDB, or Postgres instead of the default SQLite.
- Customizing the image β change OPcache, JIT, and the FPM pool with environment variables.
- Reading your results β what a number tells you, and the limits that apply to it.
- Testing from your own machine β point oha at the load test endpoints from another machine.
- FAQ β the questions we get most often.
The documentation source lives in the
docs/directory β a standalone Nuxt site deployed to Cloudflare Pages.
Spin is an open source tool built by Server Side Up to help you run Docker from development β production. Spin is language agnostic, so you can use it with any language but we also provide official templates. This project was powered by Spin Pro, which offers additional features for Laravel power users.
- Discord for friendly support from the community and the team.
- GitHub for source code, bug reports, and project management.
- Get Professional Help - Get video + screen-sharing help directly from the core contributors.
As an open-source project, we strive for transparency and collaboration in our development process. We greatly appreciate any contributions members of our community can provide. Whether you're fixing bugs, proposing features, improving documentation, or spreading awareness - your involvement strengthens the project. Please review our contribution guidelines and code of conduct to understand how we work together respectfully.
- Bug Report: If you're experiencing an issue while using these images, please create an issue.
- Feature Request: Make this project better by submitting a feature request.
- Documentation: Improve our documentation by editing the
docs/contentdirectory. - Community Support: Help others on GitHub Discussions or Discord.
- Security Report: Report critical security issues via our responsible disclosure policy.
Need help getting started? Join our Discord community and we'll help you out!
All of our software is free an open to the world. None of this can be brought to you without the financial backing of our sponsors.
No bronze sponsors yet. Become a sponsor βThis project takes an incredible amount of computing power to build and maintain over 8,000 different docker image tags. We're extremely grateful for the following sponsors who help bring the power to ship more PHP.
Get two senior Laravel experts who deliver quality code with predictable monthly pricing.
The creators of Server Side Up (Dan and Jay) are available for hire with 30+ years of combined experience building scalable Laravel applications.
- π― Complete Laravel expertise - Full-stack development, CI/CD, database optimization, mobile apps
- π° Predictable pricing - Fixed monthly subscription, no hourly billing surprises, 40%+ savings
- β‘ Maximum productivity - 90%+ development time, no meetings, results in days not weeks
- π‘οΈ Risk-free - 7-day money-back guarantee, cancel anytime
- π Blog - Get the latest guides and free courses on all things web/mobile development.
- π Community - Get friendly help from our community members.
- π€΅ββοΈ Get Professional Help - Get video + screen-sharing support from the core contributors.
- π» GitHub - Check out our other open source projects.
- π« Newsletter - Skip the algorithms and get quality content right to your inbox.
- π₯ Twitter - You can also follow Dan and Jay.
- β€οΈ Sponsor Us - Please consider sponsoring us so we can create more helpful resources.
If you appreciate this project, be sure to check out our other projects.
- The Ultimate Guide to Building APIs & SPAs: Build web & mobile apps from the same codebase.
- Building Multi-Platform Browser Extensions: Ship extensions to all browsers from the same codebase.
- Bugflow: Get visual bug reports directly in GitHub, GitLab, and more.
- SelfHost Pro: Connect Stripe or Lemonsqueezy to a private docker registry for self-hosted apps.
- serversideup/php: Production-ready PHP Docker images optimized for Laravel.
- AmplitudeJS: Open-source HTML5 & JavaScript Web Audio Library.
- Spin: Laravel Sail alternative for running Docker from development β production.








