Plan:
Set up a Fedora 4 load balanced cluster, perform tests including load-balance read requests across the cluster, nodes joining/leaving the cluster, and throughput/response time comparison of a single Fedora and a cluster.
Description:
Currently the Fedora 4 cluster performance testing was conducted in a single machine [1], and load balanced cluster setup was conducted using Fedora Beta 1 version [2]. After Fedora 4 Beta 2 was released, the version of Modeshape and Infinispan were changed and the existing cluster configuration document does not apply to the new Fedora 4 release. Our plan at VT is to set up a Fedora 4 load balanced cluster using n AWS EC2 instances, where n>=3, to do the following tasks:
- Verify the load balanced cluster setup using the updated Modeshape and Infinispan configuration.
- Demonstrate the nodes joining and node leaving in the cluster.
- Measure the cluster’s throughput and response time
- Continue increasing the load until server is unable to handle further requests from the client.
- Exam if the n-node (n >= 2) cluster handles n times as much requests as a single instance
- n-JMeter (n=2) clients to send requests in different region/availability zone and measure the response time.
- Simulate real world case, 95% read requests and 5% write requests.
- Write up installation document
- Write up performance report
Software:
Fedora 4: master branch version (09/18/14) https://github.com/fcrepo4/fcrepo4
JMeter: http://jmeter.apache.org/
Loadosophia: https://loadosophia.org/
Test Environment:
AWS: EC2 t2.small or medium instances.
OS: Ubuntu 14.04 LTS.
Test Procedure:
- Verify the load balanced cluster setup using the updated Modeshape and Infinispan configuration.
- Following updated configuration files and document to set up Fedora 4 cluster
- Configured the cluster in replication mode
- Load objects into one of the instances
- Configure load balancer to equally balance requests across these three instances.
- Use JMeter to send read/write requests.
- Demonstrate the nodes joining and node leaving in the cluster.
- Create new Fedora instances
- Add new instances into cluster
- Perform read requests as in Test 1
- Remove instances from cluster
- Perform read/write requests as in Test 1
- Measure the single and cluster’s throughput and response time
- Use JMeter to send read requests to a single Fedora instances
- Use JMeter to send read requests to a Fedora Cluster
- Continue increasing the load until server is unable to handle further requests from the client.
- Exam if the n-node (n >= 2) cluster handles n times as much requests as a single instance.
- n-JMeter (n=2) clients to send requests in different region/availability zone and measure the response time.
- We choose 4 different zone, US-East, US-West, Asia and EU.
- Each zone run 2 JMeters and calculate the average response time.
- Simulate real world case, 95% read requests and 5% write requests.
- One JMeter do write request while another JMeter do read request.
- One JMeter do write request while another JMeter do read request.
Reference:
[2] https://wiki.duraspace.org/display/FF/2014-08-10+Acceptance+Test+- +Load+balanced+cluster+setup