Swoole, Roadrunner and FrankenPHP as drivers Requires Laravel 10 and PHP 8.1 in 2.x Supercharge performance of Laravel Hot reload support Additional features in Swoole driver: Concurrent Tasks Ticks and Intervals The Octane Cache Swoole Table What is Laravel Octane?
framework in the memory I/O requests in Laravel Octane are still blocking Processes will be blocked until the end of the I/O 80% of requests in the web application are I/O bound Laravel Octane doesn’t help in blocking I/Os at all Laravel is not suitable for handling I/O bound requests in high concurrency even with the help of Laravel Octane Limitations of Laravel Octane
with blocking I/O in PHP even with Laravel Octane The only way to increase QPS is to scale your machines It’s extremely inefficient for the machine resource and cost Limitations of Laravel Octane
waiting for I/O Coroutine in Laravel Octane Blocking I/O vs. Non-blocking I/O Main I/O call Waiting return Main process gets blocked while waiting for I/O
No, it’s highly risky! Laravel is designed for stateless environment States bleeding among coroutines will be a mess in Laravel Event if Laravel supports coroutines within single request , the worker is still occupied until the end of all I/O operations Laravel team has little possibility to support coroutine due to the considerations of the current ecosystem and backward compatibility It’s not a package-level thing, it’s about the whole framework and related ecosystem
use in my team, aiming to help Laravel artisans enjoy the high performance of coroutines while maintaining familiar Laravel development practices Ported bunch of packages from Laravel to support coroutine Reduce the learning cost for a new framework Share the same package ecosystem with Hyperf framework What is Hypervel? https://github.com/hypervel/hypervel
Laravel to make them coroutine-safe in Hypervel Packages from Hyperf are compatible with Hypervel Some components provide similar usage while keeping compatibility with Hyperf framework Requests, Responses, Cookies Laravel packages are NOT compatible with Hypervel