[JAVA-202] Load balancing read requests between slaves in a replica set Created: 26/Oct/10  Updated: 29/Oct/10  Resolved: 27/Oct/10

Status: Closed
Project: Java Driver
Component/s: Cluster Management
Affects Version/s: 2.2
Fix Version/s: 2.3

Type: Improvement Priority: Major - P3
Reporter: Bruno Michel Assignee: Eliot Horowitz (Inactive)
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

4 servers with 8 cores


Issue Links:
Related

 Description   

I've made a read-heavy benchmark on a replica set with 1 master and 3 slaves. The client is using the java driver and set the slaveOk(), but the repartition of the requests was unequal.

The loads of the servers were:

  • 0.02 for the master (I think the client send it only the very few writes)
  • 60 for the first slave (it was the goal of the bench to push MongoDB to its limits)
  • 5 on the second slave
  • only 2 on the last slave.

I was expecting that the load on the 3 slaves was similar.



 Comments   
Comment by Bruno Michel [ 27/Oct/10 ]

> Part of the algorithm is ping time to nodes - are these all located on the same network?

Yes, the 4 servers are on the same network (more precisely, on the same dedicated switch).

> Can you try with HEAD of the driver?

I'll try it next week.

Comment by Eliot Horowitz (Inactive) [ 27/Oct/10 ]

Just made some improvements.
Part of the algorithm is ping time to nodes - are these all located on the same network?
Can you try with HEAD of the driver?

Generated at Thu Feb 08 08:51:43 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.