加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

通过移除Nginx,我们如何将TPS增强了44%?

发布时间:2021-06-09 05:47:30 所属栏目:创业 来源:互联网
导读:在某些情况下,大家仍然会坚持使用 Nginx 这样的代理,我会在下面给你列举出来。对于 Raygun,我们的 API 服务器仅托管了一个应用程序,然后仅通过负载均衡设备

在某些情况下,大家仍然会坚持使用 Nginx 这样的代理,我会在下面给你列举出来。对于 Raygun,我们的 API 服务器仅托管了一个应用程序,然后仅通过负载均衡设备公开到互联网。这意味着对端口共享的限制并不适用于我们,开放给外部的服务已经被最小化了。

我们可能要使用代理的一些原因(来自微软的一篇博文),列举如下:

限制其托管应用程序的对外公开部分

提供附加的配置和防御层

方便与现有基础架构更好地集成

简化负载平衡和安全通信(HTTPS)配置。只有反向代理服务器需要 X.509 证书,并且该服务器可以使用 HTTP 与内部网络上的应用服务器进行通信。

对于我们的 API 节点,从配置中删除 Nginx 可以使我们处理更多的请求而无需额外费用。

通过负载测试,我们还发现请求的平均响应时间和第 99 百分位响应时间得到显著改善。这意味着我们的客户对 API 服务的请求更快,并允许他们在单位时间内发送更多数据。

自从将新的服务器配置投入生产以来,我们的负载均衡设备报告 5xx 错误也大大减少了。现在,我们可以支撑处理更高的客户端负载,而且用户遇到的错误问题也更少了。

我们在亚马逊的 AWS c5.large 实例 Ubuntu 18.04 环境下进行了测试。基准服务器运行了 Nginx 和 Kestrel Web 服务,Nginx 作为 Kestrel Web 服务代理;作为对比,在另一台服务器上,服务请求直接由 Kestrel 处理。

我们使用 Apache JMeter 将 Raygun Crash Reporting 样本有效负载发布到服务 API。JMeter 可以模拟非常高的并发请求负载。我们对此不断进行调整,让每台服务器都最大程度地利用 CPU,逼近服务过载即将不能支撑处理所有请求的极限(但是仍然保证请求的成功率为 100%)。
 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读