Minimizing bandwidth usage to a web server
Phyo W. Soe
ps at michelangelotech.com
Fri Jan 8 13:21:49 UTC 2010
Hi all,
I have a question concerning load sharing among servers. Though it's not
really an Ubuntu specific question, I am asking here and hope that some
of you can give me some ideas.
We have a learner's management system, LMS, installed on an Apache web
server (running Ubuntu) that serves pages in PHP and uses a MySQL
database. Besides text, there are some multimedia contents like videos
and pictures. In order to access the pages, a user will have to log in
with his username/password. A logged in user can not only view the pages
but also upload and modify files on the LMS via the web pages if he is
authorized.
We have branches in cities throughout the country. Under normal
circumstances, users from those branches will have to connect to the
central web server to access the pages. It consumes too much bandwidth
due to videos and pictures. We would like to minimize the bandwidth
usage from the branches by having a server in each branch. A branch's
server will mirror the contents of the central server and users in the
branch access the local server instead of the central server when they
want to access the LMS.
However, there are some issues. First of all, the contents are protected
and web pages are generated when a user requests them. Secondly,
contents are dynamic with users uploading and modifying files on the
LMS. Changes made to a local copy of a branch office must be propagated
back to the central server regularly.
I think rsync can't be used in this situation. LVS (Linux Virtual
Server) looks promising, with a virtual server at each branch office.
But if all the virtual servers share a storage (eg., NFS) and database
system, each server will have to fetch contents from a central location
when requests come in. It will defeat the purpose of minimizing
bandwidth usage of branch offices' users. If the servers don't share a
storage, the contents of all the servers must be synchronized regularly
somehow.
Can anyone suggest a solution to this problem? I would really appreciate
your inputs.
Thanks so much.
Phyo
More information about the ubuntu-users
mailing list