在节点

时间:2018-12-04 08:29:07

标签: node.js kubernetes xmlhttprequest

我正在使用nodejs编写一个后端应用程序,该应用程序执行许多对外部服务和http的{​​{1}}请求。
我在单个kubernetes容器上达到了大约每秒800个请求。
该广告连播仅限于单个vcpu,使用率已达到100%。

我可以将其扩展到数十个pod,以处理数千个请求的执行,
但似乎已经达到极限了。

我已经在真实的后端应用中对其进行了测试,然后在演示容器上进行了测试,该演示容器仅使用s3发送http请求。

单个vcpu kubernetes吊舱只能处理800个请求/秒是否有意义? (作为客户端而不是服务器)。

1 个答案:

答案 0 :(得分:0)

要为最佳方法提出任何建议,要为您的特定需求选择合适的计算资源容量,这是非常困难的。但是,当您在Pod限制请求中使用1x vCPU时,对于最广泛使用的Cloud provider VM资源,它相当于1个CPU单位。

因此,我想在这里打赌,要比使用Kubernetes调度程序使用HPA(水平Pod自动缩放器)功能旋转更多具有相同数量vCPU的Pod来增加更多的CPU单元。因此,如果节点上没有足够的容量,则很容易将很多Pod推入过载;确实这不会对Node计算引擎产生积极影响。

在您的示例中,有两个关键指标参数需要分析:等待时间(发送请求和接收答案的时间)和吞吐量(每秒请求){ 1}}个请求;这始终是最重要的规则:增加延迟会降低请求的整体吞吐量。

您还可以阅读有关Vertical Pod Autoscaler的信息,作为在Kubernetes集群中管理compute resources的选项。