gpt4 book ai didi

PHP 与 Node REST-API

转载 作者:可可西里 更新时间:2023-11-01 13:13:00 25 4
gpt4 key购买 nike

我正在构建一个简单的 REST-API,它有一个端点,将被大量渗透。我们称它为 POST/message。我必须在使用 Node 还是 PHP 之间做出决定。数据库是 MySQL。

这条路线内发生了什么:- 通过 HTTP-Auth 的凭据将通过从数据库中读取来检查。- 请求另一个 REST-API。- 将执行另一个写数据库操作。

所以有 2 个数据库连接和一个到另一个 REST-API 的 http 请求。路线应该都是关于速度的。我会选择 PHP,因为当前系统是基于 PHP 的,但是路由中的请求让我感到害怕,因为在使用 PHP 时它不是异步生成的。我不关心这个请求的结果,在 Node 中我可以只检查凭据并返回 success,异步发送请求并在请求返回后执行数据库写入性能。我不认为我可以在 PHP 中做到这一点,因为当我返回 REST 调用并返回 success 时,一切都必须在之前完成,对吧?

选择 PHP 还是 Node ?

最佳答案

你写道:

cause it's not made asynchronously when using PHP

你确定这不可能吗?甚至没有 Guzzle Async Requests

无论如何,我用几种语言实现了相同的 REST API 服务器,并在同一台机器(Ubuntu Linux 16.04、i7 Intel NUC、16GB RAM)上进行了测试,发现:

(source)

请注意,Node.js 是唯一无法有效使用多核的平台。

为了模拟您的要求,我尝试向 PHP 添加 15ms usleep,向 Node.js 添加 15ms setTimeout,发现当处理 2000 个并发请求时,Node.js 具有更高的吞吐量(4300 vs 1800 请求/秒),但也有更高的延迟(450 对 130 毫秒/请求)。可能是因为它只使用一个核心并且必须响应许多事件。这种具有更高吞吐量的更高延迟可能是由使用事件循环引起的。使用 Apache(pre)fork 可能更昂贵,但能够实现更高的并发性。

我不确定所有这些是否会直接帮助您,但它可能会为您自己的研究提供一个起点。玩得开心!

关于PHP 与 Node REST-API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41789080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com