官方性能扩展包 Laravel Octane:轻松集成 Swoole/Roadrunner
Taylor Otwell 让 Laracon Online 2021 的与会者第一次看到了 Laravel Octane - 一个统一的第一方软件包,用于利用Swoole和RoadRunner等环境运行高性能的Laravel。
在一些“hello world”示例中,Octane 在演示过程中使用四个并发线程,在大约50个并发请求的负载下,每秒发送大约6000多个请求。
下面是的一个wrk命令 在演示过程中用作粗略的基准测试示例:
wrk -t4 -c50 http://localhost:8000/hello-world
它怎么工作?
Octane’s 使用 Artisan 命令(octane:start
) 作为常驻进程来运行Swoole或RoadRunner。您可以根据环境的 CPU 线程指定驱动和线程数:
artisan octane:start --workers=8 --server=roadrunner
Swoole 和 RoadRunner 利用协程,通过基于 CPU 内核数 fork 多个工作进程,使 PHP 能够更高效地运行。 使用 Swoole/RoadRunner 可以提高应用程序启动效率,并结合 PHP OPcache 通过将字节码存储在内存中来最小化开销。
PHP Workers 在多个请求之间保持活跃(可通过 artisan 命令参数指定在处理 N 个请求之后循环重启)。 此举消除了框架启动时间,可最大程度提高应用性能。
什么目的?
目前来讲,对高可用性 PHP 应用的需求很普遍。Octane 的目标是在保证 Laravel 框架功能的情况下,与 Swoole 和 Octane 等工具无缝协同。
Laravel 通过扩展的方式对此类方案的推广和应用,将使整个 PHP 生态从中受益。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: