Nginx负载均衡后端服务怎么配置权重才生效?
我用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之后压测发现两台机器请求量差不多,是不是哪里漏了?
1. upstream块没放在http{}里面,得放在nginx.conf的http层级
2. 用的是短连接压测?weight是按请求数算的,如果压测工具复用了连接,统计会不准
检查一下配置文件位置对不对,然后用ab或wrk压测时加
-n 10000 -c 10这样的参数试试。