You have:
1 Domain
1 VBulletin Board
2 Servers on 2 different networks
This would be great for redundancy and load, but how is it done effectively and where it works to spread the load and back each other up right? I am not sure what all info is needed, and it is not really a VB issue, just something I am sure someone has done and I would like to do also.
LC
You have:
1 Domain
1 VBulletin Board
2 Servers on 2 different networks
This would be great for redundancy and load, but how is it done effectively and where it works to spread the load and back each other up right? I am not sure what all info is needed, and it is not really a VB issue, just something I am sure someone has done and I would like to do also.
Different networks would be a clever thing to try... but fundamentally, you come down to one thing... 1 database.
The key to the 1 domain bit is to have a round robin load balancer, either by hardware or software. Round robin is a method by which you pass a request to first one server, then another... and continue round until you reach the first again... a bit like dealing cards for a poker game. The requests are handled equally.
Scripts can do this... but you need to cope with things like downtime... if one server disappears, you want the requests not to be passed there. So hardware is the better way.
Scripts would allow for 2 networks, but would restrict performance.
Hardware would work best over 1 network, would not restrict performance.
The database... this is the key... you don't want to duplicate it if possible. You can only begin to imagine how you would distribute the messages (i.e. a post to be replicated to more than 1 database server) and even with a lot of database trickery... it's possibly more pain than it's worth... besides... take a look at your explain plan... it's not MySql that is the bottle neck... it's PHP.
But the real question... is what do you hope to achieve from this?
Are you going for redundency to increase uptime and to make it mission critical? In which case distribute over several locations, reduce features and work on off-site backup plans.
or
Are you going for performance, to increase number of simultaneous users? In which case locally load balance, add caching servers (reverse proxy - something like Squid) and take the burden of images and avatars and place those on the cache server... so the web server can concentrate on making the pages... and things which seldom change are cached for defined time periods (i.e., cache avatars for a day and place a notice that changes will take up to a day to take effect).
Then there's wanting both... in which the fun really begins :)
And of course... most of the above requires truly custom hosting and a pretty purse.
LC
There are known issues with this though... which can be got around by breaking keep-alives on connections.
Essentially... some browsers (IE for example) will remember the IP of the server that actually ended serving up the file, they then return to that server for repeated requests from that domain.
This is where hardware round robin helps more... because if a computer returned to one machine... a heavy user would start placing more load on one server than the other. Hardware load balancing in front of several machines at the same location could be configured (simply) to return its IP address or to not permit keep-alives.
So if you can afford it... go for a hardware based load balancing.
#If you have any other info about this subject , Please add it free.# |