首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP与Node REST-API

PHP与Node REST-API
EN

Stack Overflow用户
提问于 2017-01-22 08:57:26
回答 1查看 11.8K关注 0票数 9

我正在构建一个简单的REST-API,它有一个端点,它将被严重渗透。我们叫它POST /message吧。我必须决定是使用Node还是PHP。数据库是MySQL。

在此路由内发生的事情:-凭据通过HTTP将通过从数据库中读取它们来检查。-请求另一个REST-API。-将执行另一个写数据库操作。

因此,有两个数据库连接和一个指向另一个REST-API的http请求。路线应该都是关于速度的。我会选择PHP,因为当前的系统是基于PHP的,但是路由内的请求使我感到害怕,因为在使用PHP时它不是异步发出的。我不关心这个请求的结果,在节点中,我只需检查凭据并返回success,异步发送请求,并在请求返回后执行数据库写性能。我认为我无法在PHP中做到这一点,因为当我用success返回REST调用时,所有的事情都必须先做,对吗?

选择PHP还是节点?

EN

回答 1

Stack Overflow用户

发布于 2017-02-09 21:53:43

你写道:

因为它不是在使用PHP时异步生成的

你确定那不可能吗?即使用Guzzle异步请求也不行

无论如何,我用几种语言实现了相同的REST服务器,并在同一台计算机(UbuntuLinux16.04、i7 Intel、16 found)上进行了测试,发现:

(来源)

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

为了模拟您的需求,我尝试在PHP中添加一个15 ms的usleep,在Node.js中添加一个15 ms的Node.js,发现当使用2000并发请求时,Node.js具有更高的吞吐量(4300 vs 1800 req/秒),但也有更高的延迟(450 vs 130 ms/req)。可能是因为它只使用了一个核心,并且不得不对许多事件做出反应。这种具有较高吞吐量的较高延迟可能是由于使用事件循环造成的。使用Apache (Pre)叉可能更昂贵,但能够实现更高的并发性。

我不确定所有这些都能直接帮助你,但这可能给你自己的研究提供一个起点。玩得开心!

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41789080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档