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