Laravel Octane – 基于 Swoole 和 RoadRunner 提高 Laravel 应用性能的官方扩展包

Taylor Otwell 在 Laracon Online 2021 为我们带来了 Laravel Octane,Laravel Octane(以下简称 Octane)是一个基于 Swoole 和 RoadRunner 驱动的提高 Laravel 应用性能的统一官方扩展包。

Octane 在一个 "hello world" 的示例中,使用四个并发线程,在大约 50 个并发请求的负载下,每秒大约能处理 6000 多个请求。

vaZtUA

nBjyIn

下面是在演示过程中使用的命令:

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

如何使用 Octane

可以通过 Artisan 命令:octane:start 来启动 Octane,这将会运行 Swoole 或 RoadRunner。你可以根据你 CPU 的线程数来指定使用哪种方式以及运行多少线程:

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

Swoole 和 RoadRunner 都使用了协程(coroutines),可以根据 CPU 核心的数量来 fork 出多个工作进程,使得 PHP 运行的更高效。使用 Swoole 或 RoadRunner 可以通过常驻内存来提高应用程序的启动效率,再加上 PHP OPCache 通过在共享内存中缓存字节码来减少内存开销,对比传统 Laravel 应用每次请求都要重新加载框架的各种组件及服务等(大概有几千个文件)产生大量的磁盘 IO,应该会带来非常大的性能提升。

为何开发 Octane

一般典型的 Web 应用不需要我们在 Octane 演示中看到的那么高的 RPS。但是随着业务发展,对高性能的 PHP 应用需求还是比较普遍的,Laravel 恰好可以在保证框架级的代码与 Swoole 和 Octane 这样的工具无缝对接。

Laravel 对这些技术的官方支持将是现代 PHP 应用扩展方式的重大突破,整个 PHP 生态系统将从这些努力中受益。

Octane 目前还没有发布,根据 Taylor 所说估计还需要几周的时间,让我们试目以待!

不过,在 Octane 发布之前,我们可以先熟悉一下 Swoole 和 RoadRunner。

版权声明:
作者:coderlxc
链接:https://coderlxc.com/laravel-octane
来源:月光酒馆
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭