Hi,
I am working on a distributed system where I want to use consensus algorithm. I am evaluating
ZooKeeper for the same.
I am trying to quantify read and write operations for zookeeper for version 3.5.2.
I am running following operations.
1. Create 50k Znodes with data
2. Read from those 50k znodes
I tried this operations when zookeeper server was running on 4 different remote servers in
standalone mode. My client was always on same machine.
1. Test case 1
Server configuration : Windows 8 server R2.
jdk 1.7.0_80
Avg time required for each write operations : 1.8 ms
Avg time required for each read operations : 0.9 ms
2. Test case 2
Server configuration : Windows 8 server R2.
jdk 1.7.0_21
Avg time required for each write operation : 1.7 ms
Avg time required for each read operation : 0.9 ms
3. Test case 3
Server configuration : Windows 7
jdk 1.7.0_25
Avg time required for each write operation : 35 ms
Avg time required for each read operation : 0.8 ms
4. Test case 4
Server configuration : Windows 7
jdk1.8.0_101
Avg time required for each write operation : 40 ms
Avg time required for each read operation : 0.9 ms
5. To get network latency out of picture, I kept both client and server on same machine
with following configuration
Server configuration : Windows 7
jdk1.8.0_101
Avg time required for each write operation : 30 ms
Avg time required for each read operation : 0.4 ms
Still, I got same readings.
I do not understand, why ZooKeeper gave such a poor write performance on some machines with
windows 7. I tried these test cases with different jdk versions. But I am getting same result.
However, Read operation performance was same across all deployments.
Can someone please point out the possible cause for such extreme results ?
Thanks,
Amar
|