This week, we mainly continued to develop and finalize our testing environment for the custom load balancer. First, we made our application more robust and appropriate for load balancing testing by implementing the delivery of the video in chunks. Furthermore, we also added a catalog of videos for users to choose from instead of just one so that the load to the server would be more varied.
As for user testing, we developed user scripts that continuously send video requests to the load balancer and logs metrics such as user response time and bit rate. We plan on deploying these scripts to AWS instances when running tests for our server.
Finally, we managed to obtain the two metrics from the video servers we intend on using, namely CPU utilization and server response time. With the CPU utilization metric, we implemented the load balancing algorithm that forwards requests to the server with the lowest CPU utilization, and next week, we plan on using server response time for our own custom load balancing algorithms.