Identity Query Benchmark

In this benchmark we read records by id from the database one record at a time on a 4, 8, 16 and 32 server cluster.


for (int i = 0; ; i++) {
    PreparedStatement stmt = con.prepareStatement("select id from persons where persons.id=?")
    stmt.setLong(1, i);<
    ResultSet rs = stmt.executeQuery();
    rs.next();
}
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 265k/sec 540k/sec 920k/sec 2.1 mil/sec
Call latency 965 micros 990 micros 1100 micros 940 micros
Threads per client 32 32 32 32
Shard Count 4 8 16 32
Replica Count 1 1 1 1