背景:
一次压测, 后端服务端用 lvs 做负载均衡 lvs 背后有50台机器,每台机器限流 2w. 客户端用okhttp 调用, 有连接池. 空闲keepAlive 是30秒.
问题: 发现怎么压,都只能压到4w tps. 错误码都是说被限流.
原因分析:
lvs 的负载均衡是在建连的时候. 对方是 php, ngnix 下面不再负载均衡. 故连接池是后入后出的栈模式. 故大量的请求都集中在前几台中. 被限流了.
前提: 限流数的耗时 >> 实际耗时.
但是如果是 java, ngnix + tomcat 的模式. 反向代理. 就不会有这种模式, 负载均衡是在每次请求的时候.
本文分析了一次使用LVS负载均衡的压测过程中遇到的瓶颈问题,揭示了由于连接池模式导致的压力分布不均现象,并对比了PHP+Nginx与Java+Nginx+Tomcat两种不同模式下的负载均衡差异。
1849

被折叠的 条评论
为什么被折叠?



