Range Query Benchmark

In this benchmark we create a range query that selects the entire database and we iterate over all the results on a 4, 8, 16, and 32 server cluster.


PreparedStatement stmt = con.prepareStatement("select persons.id1, id2 from persons where id1 >= 0 order by id1 asc);
ResultSet rs = stmt.executeQuery();
for (int i = 0; ; i++) {
    if (!rs.next()) {
        break;
    }
}
            
Metric 4-server 8-server 16-server 32-server
Record size 120 bytes 120 bytes 120 bytes 120 bytes
Record count 500 million 1 billion 2 billion 4 billion
Server total mem 60g 60g 60g 60g
Server xmx 36g 36g 36g 36g
Resident mem 52g 52g 52g 52g
Client machine count 8 16 32 64
Cores per client machine 4 4 4 4
Cores per server machine 8 8 8 8
Call rate 4.4 mil/sec 9.6 mil/sec 19.1 mil/sec 35.0 mil/sec
Call latency 22 micros 27 micros 29 micros 28 micros
Threads per client 16 16 16 16
Shard Count 4 8 15 32
Replica Count 1 1 1 1