News

Laravel Octane v1.0 is Here

Published
Laravel Octane v1.0 is Here image

The Laravel team has been hard at work on Laravel Octane, a tool to supercharge your Laravel application's performance. After releasing the beta in April, Octane has released a stable 1.0 version!

Octane boasts some exceptional performance benchmarks by using high-powered application servers that integrate with Laravel. Some things to note now that Octane is considered stable and ready for production:

  • Octane requires PHP v8.0+
  • Octane supports Roadrunner, an application server, load-balancer, and process manager written in Golang.
  • Octane supports Swoole PHP, a high-performance programmatic server for PHP with Async IO, Coroutines and Fibers
  • Laravel Sail provides an easy way to get started with both Roadrunner and Swoole

The documentation is now available on the Laravel website.

Read the documentation carefully when deciding which underlying server you want to run. Both servers offer high-performance, but Octane provides vendors-specific features for Swoole that are not possible in Roadrunner.

When using Swoole, you have access to an octane cache driver:

Cache::store('octane')->put('framework', 'Laravel', 30);

According to the readme, the Octane cache driver (powered by Swoole table):

[Swoole] provides read and write speeds of up to 2 million operations per second. This cache driver is powered by Swoole tables. All data stored in the cache is available to all workers on the server. However, the server will flush the cached data on a restart.

With Swoole you can also leverage Concurrent Tasks, which means you can execute operations simultaneously via lightweight background tasks:

use App\User;
use App\Server;
use Laravel\Octane\Facades\Octane;
 
[$users, $servers] = Octane::concurrently([
fn () => User::all(),
fn () => Server::all(),
]);

Lastly, Swoole has the concept of Swoole tables, which provides "extreme performance throughput and data in these tables can be accessed by all workers on the server."

Here’s an example of how you can interact with Swoole tables using Octane:

// Octane tables config in config/octane.php
return [
'tables' => [
'example:1000' => [
'name' => 'string:1000',
'votes' => 'int',
],
],
];
 
// Usage example
use Laravel\Octane\Facades\Octane;
 
Octane::table('example')->set('uuid', [
'name' => 'Nuno Maduro',
'votes' => 1000,
]);
 
Octane::table('example')->get('uuid');

Learn More

To get started with Octane, check it out on GitHub at laravel/octane.

To get started in your new or existing Laravel project, install Octane with composer and bootstrap it via Artisan:

composer require laravel/octane
php artisan octane:install
Paul Redmond photo

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

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Building EasyReply: How We Used Laravel to Unify Customer Support image

Building EasyReply: How We Used Laravel to Unify Customer Support

Read article
PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum image

PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum

Read article
PayZephyr: One Payment API for Stripe, Paystack, and PayPal image

PayZephyr: One Payment API for Stripe, Paystack, and PayPal

Read article
Bifrost Turns One With AI Builds and New Workflows image

Bifrost Turns One With AI Builds and New Workflows

Read article
Preview Blade Templates in macOS Finder with Quick Blade image

Preview Blade Templates in macOS Finder with Quick Blade

Read article
Artisan Debugging Commands in Laravel Telescope 5.24.0 image

Artisan Debugging Commands in Laravel Telescope 5.24.0

Read article