Response Times of Single Fedora VS 3-Node Load Balanced Fedora Cluster on a Single Machine.
Test Setup:
- Three Fedora instances running on a local machine (Mac OS X).
- Clustered in Replication mode
Procedure:
- Started a single instance of fedora in Replication cluster mode
- Loaded 6000 Glossary with unique Glossary.
- Added two new fedora instance to the cluster
- Configured apache server with mod_proxy as load balancer.
- Used JMeter to perform response time test directly on a single fedora instance.
- Used JMeter to perform response time test via load balancer on the cluster.
- Test cases
- 1000, 3000, and 6000 HTTP requests for binaries.
- Varying Requests/Second.
Results:
The tests on single Fedora instance had better response times on almost all the test cases. The performance were in par for the less intensive tests (E.g. 6000 Requests / 30 Seconds), but for high intensive load tests the single Fedora instance performed better. The results of the cluster setup show that there is an initial period of high response time (which could be due to the load balancer) and then the response time comes close to that of the individual Fedora response time.
Response times of 1000 Requests in 10 seconds
Single Fedora Instance
|
3 Node Cluster
|
Response times of 3000 Requests in 5 seconds
Single Fedora Instance
|
3 Node Cluster
|
The above graphs are generated using https://loadosophia.org/ service.
Test Setup | Num. Requests | Test Duration (Seconds) | Average Response Time (ms) | Max Response Time (ms) |
---|---|---|---|---|
Individual | 1000 | 10 | 9 | 124 |
Cluster | 1000 | 10 | 120 | 2541 |
Individual | 3000 | 4 | 78 | 305 |
Cluster | 3000 | 5 | 81 | 3511 |
Individual | 3000 | 10 | 7 | 143 |
Cluster | 3000 | 10 | 11 | 241 |
Individual | 6000 | 5 | 67 | 491 |
Cluster | 6000 | 7 | 79 | 5705 |
Individual | 6000 | 30 | 3 | 161 |
Cluster | 6000 | 30 | 2 | 74 |
Individual | 6000 | 60 | 2 | 68 |
Cluster | 6000 | 60 | 2 | 99 |
Note: The results only depict the response time performance of cluster with all instance running on a single machine. The clustered setup might perform better if each instances run on individual machines.
Attachements:
- JMeter Test Plan: Fcrepo4LoadResponseSingle.jmx
- JMeter Test Plan: Fcrepo4LoadResponseCluster.jmx
- JMeter Results: jmeter-results.zip