It really depends on your goal - are you trying to split requests as evenly as possible or give users the fastest response time? Since your systems aren't all the time, you'll undoubtedly want to do some sort of ratio - the question then becomes whether you'd like it to be dynamic - I'd recommend finding the system spec that most impacts user experience and base your load balancing on that. If, for instance, you have a CPU intensive application, then use that to determine your ratio - of course, since different users consume different amounts of resources, something dynamic might be the way to go.
The SNMP monitor you linked looks very appealing because it's dynamic and also gives you a ratio - you just need to ensure the stats it uses to determine that ratio correlate to user experience. If your app doesn't even make the CPU on your boxes move, then it's not gonna matter whether you send traffic to a server with more power, however; if it's a RAM intensive app, it's a different story - trial and error might be your best bet here.
I personally use a combination of least connections node and response time for a get request I make for my site's home page. I want to spread connections while also making sure users get the best experience possible. With that in mind, I don't want to send traffic to the fastest responding systems just because they're a tiny bit faster - I typically do least connections unless one box is responding significantly slower.