Nginx负载均衡后端服务怎么配置权重才生效?

巧云 Dev 阅读 17

我用Nginx做负载均衡,配了两台后端服务器,想让第一台处理70%的请求,第二台30%,但改了weight好像没效果,流量还是平均分的?

我的配置是这样的:

upstream backend {
    server 192.168.1.10:3000 weight=7;
    server 192.168.1.11:3000 weight=3;
}

server {
    listen 80;
    location / {
        proxy_pass http://backend;
    }
}

重启Nginx之后压测发现两台机器请求量差不多,是不是哪里漏了?

我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
Des.统思
配置本身没问题,权重不生效大概率是这两个原因:

1. upstream块没放在http{}里面,得放在nginx.conf的http层级
2. 用的是短连接压测?weight是按请求数算的,如果压测工具复用了连接,统计会不准

检查一下配置文件位置对不对,然后用ab或wrk压测时加 -n 10000 -c 10 这样的参数试试。
点赞
2026-03-18 10:01