Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: Load Balancing

by Limbic~Region (Chancellor)
on Nov 16, 2007 at 15:09 UTC ( #651232=note: print w/replies, xml ) Need Help??

in reply to Load Balancing

With such a small number of hosts, you are very likely to hit the same host repeatedly by grabbing a random host.

Why do you feel that you can't keep track of which host was previously called? Have you seen Storable and DBM::Deep?

Another solution, which can be just as problematic as using rand may be to use Time::HiRes. Divide a second into 4 quarters and choose which host to use based on which quarter you are in at runtime.

Cheers - L~R

Replies are listed 'Best First'.
Re^2: Load Balancing
by onegative (Scribe) on Nov 16, 2007 at 15:45 UTC
    Thanks ya'll, I forgot to mention that my hosts needed to be in a list...also the reason I wanted to not require an external call is because the script calling my hosts doesn't belong to me thus I was attempting to make the code simple and not require additional Modules to be installed/called...

    After some thought/research I have decided upon the following code as my solution...

    #!/usr/bin/perl sub get_hosts { @hosts=("","","","h"); @app = (); while (@hosts) { $rv = int(rand(@hosts)); push @app,$hosts[$rv]; $hosts[$rv] = $hosts[$#hosts]; pop @hosts; } $thosts = "$app[0],$app[1],$app[2],$app[3]"; return $thosts; } print &get_hosts();
    Thanks again everyone for your suggestions...


Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://651232]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (2)
As of 2022-08-14 00:22 GMT
Find Nodes?
    Voting Booth?

    No recent polls found