News

Laravel Octane

Published

Taylor Otwell gave Laracon Online 2021 attendees a first glimpse of Laravel Octane—a unified first-party package for running highly performant Laravel utilizing environments like Swoole and RoadRunner.

Octane delivered roughly 6,000+ requests per second in some "hello world" examples under a load of ~50 concurrent requests using four concurrent threads during the demo.

Here's an example of the wrk command used during the demo as a rough benchmark example:

wrk -t4 -c50 http://localhost:8000/hello-world

How Does it Work?

Octane's entry point is an Artisan console command(octane:start) that will run either Swoole or RoadRunner. You can specify which technology to use and how many threads to run based on your environment's CPU threads:

artisan octane:start --workers=8 --server=roadrunner

Swoole and RoadRunner utilize coroutines that enable PHP to run more efficiently by forking several worker processes based on CPU core numbers. Using Swoole/RoadRunner allows better app startup efficiency, coupled with PHP OPcache to minimize overhead by storing byte code in shared memory.

PHP workers remain active between requests (you can cycle them after "x" requests via artisan flag) and are ready to receive new requests. Eliminating framework startup time has a significant impact on performance for applications with heavy HTTP workloads.

What is the Purpose?

Typical applications don't demand outlandish requests-per-second we see in these early demos of Octane. However, the need for high availability PHP applications is common, and Laravel is in a unique position to guarantee that framework-level code works seamlessly with tools like Swoole and Octane.

First-party support from Laravel for these technologies will be a considerable breakthrough in modern approaches to scaling PHP applications. The entire PHP ecosystem will benefit from these efforts.

When will Laravel Octane be released?

The first version of Laravel Octane was released since May 12th, 2021.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
Agent Run Observability in Laravel AI SDK 0.11 image

Agent Run Observability in Laravel AI SDK 0.11

Read article
Debounced Queued Event Listeners in Laravel image

Debounced Queued Event Listeners in Laravel

Read article
Statamic Mailables Viewer Previews Laravel Emails in the Control Panel image

Statamic Mailables Viewer Previews Laravel Emails in the Control Panel

Read article
Laravel Tackle: Run an AI Coding Agent in Your Laravel App image

Laravel Tackle: Run an AI Coding Agent in Your Laravel App

Read article
Queue::forward(): Reroute Laravel Queues in One Place image

Queue::forward(): Reroute Laravel Queues in One Place

Read article
Laravel Read-Through Filesystem: Lazy Storage Migration image

Laravel Read-Through Filesystem: Lazy Storage Migration

Read article