Supercharge Laravel with Octane: Scaling to Thousands of Requests
Overview
Standard PHP-FPM setups follow a shared-nothing architecture, where bootstraps the entire framework, loads service providers, and hits the database for every single incoming request. While this ensures isolation, it creates a performance ceiling. shatters this ceiling by keeping your application resident in memory. By using high-performance application servers, Octane eliminates the bootstrapping overhead, allowing your application to stay 'warm' and respond with sub-millisecond latency.
Prerequisites
To follow along, you should be comfortable with the ecosystem and basic CLI operations. You will need a local development environment capable of running modern PHP versions and a basic understanding of how web servers interact with application code.
Key Libraries & Tools
- : The core package that integrates persistent application servers into Laravel.
- : A modern application server written in Go that supports the 103 Early Hints and features a built-in Caddy server.
- / : Alternative high-performance runtimes supported by Octane.
- : A testing framework for PHP; we use the
stressplugin here to benchmark performance.
Code Walkthrough
Before installing Octane, a baseline test on a fresh installation shows roughly 340 requests per second. Once you install Octane and a server like , you start the server via the Artisan CLI:
php artisan octane:start
This command initializes the persistent workers. To verify the performance gains, use the stress plugin to simulate high traffic:
./vendor/bin/pest stress http://localhost:8000 --concurrency=10
In our benchmarks, the response time dropped from 28ms under load to a mere 2ms, while the throughput jumped to over 1,500 requests per second. This represents a massive leap in efficiency without changing a single line of business logic.
Syntax Notes
Octane introduces the concept of long-lived processes. You must be careful with static variables and singleton services. Because the application doesn't reboot between requests, any data stored in a static property will persist to the next user's request. Always use the app() container to resolve dependencies rather than storing state in static classes.
Practical Examples
Octane is a perfect fit for high-traffic APIs, real-time notification systems, or microservices where every millisecond counts. It allows Laravel to compete directly with or in terms of raw throughput while maintaining the developer-friendly syntax of the PHP ecosystem.
Tips & Gotchas
Memory leaks are your primary enemy in a persistent environment. Monitor your application's memory usage during stress tests. If you find memory growing indefinitely, check for circular references or global arrays that never get cleared. Using octane:start --watch during development will automatically restart the server when you change your code, ensuring you always see the latest logic.
- 15%· products
- 15%· products
- 15%· products
- 15%· products
- 8%· products
- Other topics
- 31%

Octane - High performance for everyone
WatchLaravel // 3:52
The official YouTube channel of Laravel, the clean stack for Artisans and agents. We will update you on what's new in the world of Laravel, from the framework to our products Cloud, Forge, and Nightwatch.