全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3802|回复: 39

为什么 nginx 反向代理,并发性能很差?

[复制链接]
发表于 2023-8-27 22:45:29 | 显示全部楼层 |阅读模式
本帖最后由 newyoung 于 2023-8-28 18:57 编辑

前端服务器 和 源站服务器的硬件配置如下,系统是 centos7:

CPU:E5-2696V4*2(88 线程)
内存:64G DDR4
硬盘:500G SSD (读写 450M/s 左右)

前端和后端服务器都用的 nginx ,他俩单独测试并发都没问题。前端反向代理到后端后,正常连接总耗时 200ms ,但并发一旦超过 20 后,就至少有 1~2 个连接耗时超过 1.5 秒,如果加大并发,这种耗时较长的连接数量比例就越高,并发小于 20 后就一切正常。

前端服务器和源站服务器之间的网络质量是非常好的,而且基本可以确定不是源站的问题,因为接入 CDN 服务商,用单个 CDN 节点回源进行测试时,并发很高都不会出现耗时变长的情况。


我是从 nginx 配置 和 linux 内核参数 来进行优化,做了很多尝试,都没有效果,有遇到类似问题的朋友吗?可否指点一下?


问题找到了,就是http1.0、http1.1、http2.0 之间,他们的keepalive规则是不一样的,我选择了直接将 connection 清空,问题就解决了

发表于 2023-8-27 23:07:57 | 显示全部楼层
我以前测试也是,直接反代比kangle和魔改nginxCDN程序负载高,你用go转发或者nginx四层代理试试?
发表于 2023-8-28 10:52:06 | 显示全部楼层
楼上一大堆长篇大论有的没的,看得云里雾里,楼主为什么不把你的配置贴出来看看?
发表于 2023-8-27 23:43:56 | 显示全部楼层
只有我是在前端直接tcp转发?
发表于 2023-8-27 23:44:41 | 显示全部楼层
huhu 发表于 2023-8-27 23:43
只有我是在前端直接tcp转发?


前端直接tcp转发? 没理解,
直接重定向?
发表于 2023-8-27 23:50:07 | 显示全部楼层
AYrm 发表于 2023-8-27 23:44
前端直接tcp转发? 没理解,
直接重定向?

把80和443的数据转发到后端不就行了
 楼主| 发表于 2023-8-27 23:51:27 | 显示全部楼层
AYrm 发表于 2023-8-27 23:44
前端直接tcp转发? 没理解,
直接重定向?

他的意思是:不走nginx这个七层。
发表于 2023-8-27 23:51:37 | 显示全部楼层
huhu 发表于 2023-8-27 23:50
把80和443的数据转发到后端不就行了

,,那就是直接http请求?

为啥是tcp
发表于 2023-8-27 23:52:57 | 显示全部楼层
你接入CDN测试了没问题,那肯定就是前端配置的问题了,可能前端的NGINX配置文件里某些参数写小了,这个具体需要自行判断。

其次需要想办法锁定一下问题根源,你如果会编程建议尝试在程序上跟踪一下,看看到底在那个阶段出现了问题,然后慢慢解决。
 楼主| 发表于 2023-8-27 23:59:34 | 显示全部楼层
Salta 发表于 2023-8-27 23:52
你接入CDN测试了没问题,那肯定就是前端配置的问题了,可能前端的NGINX配置文件里某些参数写小了,这个具体 ...


已经花了不少时间在 nginx配置 和 内核调优 上,来论坛问问,看两边一起进行会不会快点解决。
发表于 2023-8-28 00:05:46 来自手机 | 显示全部楼层
本帖最后由 squalll 于 2023-8-28 00:12 编辑

先看看有没有连接错误我就是同区域美国都有错误的时候(ping <1ms)。你可以设置一个中间值超时timrout 其实2s偶尔一下也没事。timeout重试有多个你可以首先设置连接时间超过0.2s则重试,读取时间0.2s重试,这样就简单了,然后再看下error日志。这个问题我之前也研究蛮久
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-2-12 15:46 , Processed in 0.064454 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表