Currently i am running a squid server to load balance between 2 server using round robin.
But after running for few days, i found out that the server 1 is getting slower. Is there anyway I can use CPU Performance to determine which server should get more user using squid?
Thank you
Squid is not smart enough for this. As the squid documentation says:
IPVS and haproxy have several algorithms available like weighted round-robin, least connections, and so on. But they don't have a built in mechanism to do this by CPU load on the real servers.
On one IPVS installation that I manage, we have a cronjob that SSHes into each server and grabs the load from /proc/loadavg. Based on the load, it calculates an appropriate weight. Using the ipvsadm command, the weight for that real server is then tweaked. Works great and causes almost equal loads on each server.
Keep in mind that load isn't the only thing to look at. Average response time may be more accurate representation of user experience.