FrankenPHP 和 Caddy发布:作者声称性能翻倍

29天前 31.3k 0

FrankenPHP 和 Caddy发布:作者声称性能翻倍-1

FrankenPHP 是一个用 Go 编写并基于 Caddy Web服务器构建的 PHP 应用服务器。

Caddy 创建者 Matt Holt 表示,它可使 PHP 应用程序的性能提高一倍,并将开发人员和 DevOps 的工作量减少一半;而 Caddy 刚刚更新到 2.8 版本,现在后端已经实验性地支持 HTTP/3。

FrankenPHP 的作者是 Kevin Dunglas,他是 PHP 和 Go 的核心贡献者,也是流行的 PHP 网络框架 Symfony 的核心维护者。

Dunglas 结合自己在不同领域的知识,创建了 FrankenPHP,该版本于 2022 年 11 月在 SymfonyCon 上进行了预览,并于 2023 年 12 月发布了 1.0 版本。

FrankenPHP 专为容器部署而设计,包含 Caddy,后者也是用 Go 编写的,因此单个服务即可为 PHP 应用程序提供支持。FrankenPHP 在 MIT 许可下开源,代码位于 GitHub 上。

https://github.com/dunglas/frankenphp

这样将 PHP 运行时和 Web 服务器打包在一起可以大大提高性能。

Dunglas 提供的一项基准测试显示,Hello World Symfony 应用程序的 Web 请求平均需要 2.53 毫秒才能完成,而通常用于优化传统 Web 服务器性能的 PHP-FPM(FastCGI 进程管理器)则需要 9.45 毫秒。

FrankenPHP 和 Caddy发布:作者声称性能翻倍-2

FrankenPHP 在 Docker 容器中运行 API 平台

FrankenPHP 的其他功能包括自动生成 HTTPS 证书(得益于 Caddy 对 Let's Encrypt 或 ZeroSSL 的支持)、对 PHP 扩展(包括 OPCache 和 XDebug)的原生支持以及将应用程序保存在内存中的工作模式,以实现更快的响应。还支持结构化日志记录、Prometheus 指标和跟踪以及优雅重新加载(动态更新应用程序)。 

预构建的容器适用于常用的 PHP 应用程序,包括 WordPress、Symfony、Drupal、Joomla、Laravel 和 API 平台,最后一个也是由 Dunglas 创建的。 

Holt 是一名爱好者,他在在 Hacker News 上说道:“这有可能改变万维网(我非常谨慎地使用这个词,因为 PHP 为全球绝大多数互联网提供支持……网站性能几乎翻倍,而开发人员/devops 人员的工作量却减少一半,这并不罕见”。

不幸的是事情没那么简单。PHP 被广泛使用的原因很大一部分是因为 WordPress,而 Dunglas表示“与 Laravel 和 Symfony 不同,WordPress 不支持 FrankenPHP 的工作模式(目前还不支持),因此在性能方面没有太多好处(除了使用 103 Early Hints 预加载资产的能力,这可以将页面加载的延迟降低 30%)。”

在 Caddy 方面,据该团队称, 2.8 版是“迄今为止最大的 Caddy 更新之一”,其中包含数百项改进。其中包括对代理后端的快速 HTTP/3 协议的实验性支持、更新的自动证书更新(包括 ARI(ACME 更新信息)支持)以及性能改进(包括现在默认压缩更多媒体类型)。

Caddy 受到一部分用户的高度评价。其中一位用户表示:“它是一款出色的反向代理,并且凭借自动证书和 HTTP/3 支持开创了先河。”

相关文章

Java 之父 James Gosling 宣布退休
快手文生图大模型可图宣布开源
李彦宏:开源模型是智商税
VLMs多模态大模型当下进展与思考
开源日报 | 李彦宏称开源模型是智商税;Windows下的GUI开发;有趣的人形机器人;边学AI边赚钱
Meta 开源新的“多标记预测”语言模型

发布评论