25 lines
586 B
Bash
25 lines
586 B
Bash
#!/bin/bash
|
|
CONN=`echo "show info" | socat /var/lib/haproxy/stats stdio |grep CurrConns | cut -d' ' -f2`
|
|
SRVS=`cat /etc/haproxy/haproxy.cfg |grep check | grep server |wc -l`
|
|
if [ $CONN = 0 ]; then
|
|
CONN=4
|
|
fi
|
|
if [ $SRVS = 0 ]; then
|
|
echo "<<<up_scale>>>"
|
|
echo "up_scale 1000"
|
|
echo "<<<down_scale>>>"
|
|
echo "down_scale 1000"
|
|
else
|
|
let "CONNPERSRV=$CONN/$SRVS"
|
|
echo "<<<up_scale>>>"
|
|
echo "up_scale $CONNPERSRV"
|
|
if [ $SRVS -le 2 ]; then
|
|
echo "<<<down_scale>>>"
|
|
echo "down_scale 16"
|
|
else
|
|
echo "<<<down_scale>>>"
|
|
echo "down_scale $CONNPERSRV"
|
|
fi
|
|
|
|
fi
|