CS401S99 Semester Project List
Web Load Balancing System
When there are multiple web servers available with mirroring content,
we can achieve better system througput and end user response time by directing
the client requests to lightly loaded servers. One way to achieve this
is to set up proxy servers or load balancing agents that collect
the server load information and network path information, and based on
those information, request documents from the lightly loaded servers.
In this project, we will explore ways to collect the server load:
Utilize apache built-in status reporting. Use /status?refresh=5 for receiving
periodical updates. To receive update in a program (not a browser),
you can modify wb.c and extract critical info such as CPU load as weight
for deciding the server load status. Study which information reported
in the status report is more important for the load balancing decision.
Modify the status reporting module, mod_status.c, so that it reports via
/queueStatus the size of the request queue, in terms of bytes to be transferred,
and the system processing speed (some combination of CPU speed, main memory
size). This will allow us to predict more accurately the load in
the near future. Here we will learn how to create/modify an Apache module
and gather information about request queues in apache web server.
The above status reporting utilize point-to-point unicast connection. If
there are 10 load balancing agents connected, web server needs to send
10 http responses. One way to reduce the bandwidth is to use
multicast connection. The web server only needs to send one multicast
Measuring Web Performance
Benchmarking and testing the performance of your site can encompass
variables, including the operating system, server software, and the
of machine it's running on. This excerpt from Web Performance Tuning
examines the principles and tools used to test the performance of your
Speed up web CGI programming with mod_perl.
How to improve CGI performance using mod_perl, as well as a listing
of the most commonly used mod_perl modules. Investigate how much
speed up compared with the version without mod_perl.