Stress Test Results

Experiments and testing

This is just a ZK stress test. From the site:

  • create 10k permanent znodes of size 100 bytes
  • set 10k znodes of size 100 bytes
  • get 10k znodes (100 bytes returned)
  • delete all 10k znodes
  • create 10k ephemeral znodes of size 100 bytes
  • watch each of the 10k znodes 5 times (50k watches)
  • delete 10k znodes and measure time for notifications to be received by the client (from the 50k watches)

We can run this kind of test several times and on different configuration (1 instance, 2 instances, 4 instances, 8 instances, etc). Full guide: Test guide

Configuration

ZooKeeper

tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181

server.1=10.227.206.23:2888:3888
server.2=10.58.190.233:2888:3888
server.3=10.234.121.38:2888:3888

zk-latency.py

PYTHONPATH=lib.linux-x86_64-2.6/ LD_LIBRARY_PATH=lib.linux-x86_64-2.6/ \
./zk-latencies.py --servers "ip-10-227-206-23:2181" --znode_count=X \
--znode_size=100 --timeout=5000 --watch_multiple=2

Results

1 Server, 1 Client

znode_count=1 000
Testing latencies on server ip-10-227-206-23:2181 using asynchronous calls
created    1000 permanent znodes  in    165 ms (0.165076 ms/op 6057.815156/sec)
set        1000           znodes  in    150 ms (0.150840 ms/op 6629.549780/sec)
get        1000           znodes  in    126 ms (0.126415 ms/op 7910.452772/sec)
deleted    1000 permanent znodes  in    149 ms (0.149742 ms/op 6678.147450/sec)
created    1000 ephemeral znodes  in    168 ms (0.168981 ms/op 5917.822444/sec)
watched    2000           znodes  in    255 ms (0.127854 ms/op 7821.451115/sec)
deleted    1000 ephemeral znodes  in    175 ms (0.175049 ms/op 5712.683991/sec)
notif      2000           watches in      0 ms (included in prior)
Latency test complete
znode_count=10 000
Testing latencies on server ip-10-227-206-23:2181 using asynchronous calls
created   10000 permanent znodes  in   1480 ms (0.148054 ms/op 6754.273693/sec)
set       10000           znodes  in   1568 ms (0.156883 ms/op 6374.189474/sec)
get       10000           znodes  in   1345 ms (0.134535 ms/op 7433.026972/sec)
deleted   10000 permanent znodes  in   1515 ms (0.151547 ms/op 6598.621155/sec)
created   10000 ephemeral znodes  in   1574 ms (0.157481 ms/op 6349.988607/sec)
watched   20000           znodes  in   2562 ms (0.128121 ms/op 7805.137302/sec)
deleted   10000 ephemeral znodes  in   1796 ms (0.179616 ms/op 5567.426887/sec)
notif     20000           watches in      0 ms (included in prior)
Latency test complete
znode_count=20 000
Connected in 18 ms, handle is 0
Testing latencies on server ip-10-227-206-23:2181 using asynchronous calls
created   20000 permanent znodes  in   3962 ms (0.198115 ms/op 5047.569655/sec)
set       20000           znodes  in   3244 ms (0.162204 ms/op 6165.093168/sec)
get       20000           znodes  in   2673 ms (0.133694 ms/op 7479.792293/sec)
deleted   20000 permanent znodes  in  11041 ms (0.552060 ms/op 1811.398107/sec)
created   20000 ephemeral znodes  in  68456 ms (3.422817 ms/op 292.157046/sec)
watched   40000           znodes  in   5516 ms (0.137922 ms/op 7250.465773/sec)
deleted   20000 ephemeral znodes  in   3816 ms (0.190811 ms/op 5240.776811/sec)
notif     40000           watches in      0 ms (included in prior)
Latency test complete

1 Server, 3 Clients

znode_count=1 000
Testing latencies on server ip-10-227-206-23:2181 using asynchronous calls
created    1000 permanent znodes  in    331 ms (0.331104 ms/op 3020.200900/sec)
set        1000           znodes  in    326 ms (0.326626 ms/op 3061.605044/sec)
get        1000           znodes  in    404 ms (0.404466 ms/op 2472.394772/sec)
deleted    1000 permanent znodes  in    343 ms (0.343714 ms/op 2909.395612/sec)
created    1000 ephemeral znodes  in    325 ms (0.325608 ms/op 3071.177470/sec)
watched    2000           znodes  in    434 ms (0.217067 ms/op 4606.882584/sec)
deleted    1000 ephemeral znodes  in    185 ms (0.185689 ms/op 5385.349419/sec)
notif      2000           watches in      0 ms (included in prior)
Latency test complete
znode_count=10 000
Connected in 216 ms, handle is 0
Testing latencies on server ip-10-227-206-23:2181 using asynchronous calls
created   10000 permanent znodes  in   2633 ms (0.263386 ms/op 3796.709196/sec)
set       10000           znodes  in   4651 ms (0.465122 ms/op 2149.974068/sec)
get       10000           znodes  in   2506 ms (0.250646 ms/op 3989.684265/sec)
deleted   10000 permanent znodes  in  29536 ms (2.953676 ms/op 338.561124/sec)
created   10000 ephemeral znodes  in  40553 ms (4.055356 ms/op 246.587451/sec)
watched   20000           znodes  in   2879 ms (0.143979 ms/op 6945.449797/sec)
deleted   10000 ephemeral znodes  in   1698 ms (0.169878 ms/op 5886.570610/sec)
notif     20000           watches in      0 ms (included in prior)
Latency test complete
znode_count=20 000
Testing latencies on server ip-10-227-206-23:2181 using asynchronous calls
created   20000 permanent znodes  in  14266 ms (0.713310 ms/op 1401.915595/sec)
set       20000           znodes  in  54338 ms (2.716910 ms/op 368.065178/sec)
get       20000           znodes  in  15913 ms (0.795688 ms/op 1256.773847/sec)
deleted   20000 permanent znodes  in   2883 ms (0.144184 ms/op 6935.606142/sec)
created   20000 ephemeral znodes  in   6907 ms (0.345368 ms/op 2895.460900/sec)
watched   40000           znodes  in  23843 ms (0.596091 ms/op 1677.596200/sec)
deleted   20000 ephemeral znodes  in   5621 ms (0.281096 ms/op 3557.507793/sec)
notif     40000           watches in      0 ms (included in prior)
Latency test complete

3 Servers, 3 Clients

znode_count=1000
created    1000 permanent znodes  in   1244 ms (1.244712 ms/op 803.398624/sec)
set        1000           znodes  in   1584 ms (1.584092 ms/op 631.276505/sec)
get        1000           znodes  in   1392 ms (1.392475 ms/op 718.145805/sec)
deleted    1000 permanent znodes  in    959 ms (0.959185 ms/op 1042.551615/sec)
created    1000 ephemeral znodes  in    571 ms (0.571942 ms/op 1748.428758/sec)
watched    2000           znodes  in    604 ms (0.302286 ms/op 3308.125102/sec)
deleted    1000 ephemeral znodes  in    619 ms (0.619948 ms/op 1613.038126/sec)
notif      2000           watches in      0 ms (included in prior)
Latency test complete
znode_count=10000
Connected in 118 ms, handle is 0
Testing latencies on server ip-10-227-5-121:2181 using asynchronous calls
created   10000 permanent znodes  in   7001 ms (0.700153 ms/op 1428.259655/sec)
set       10000           znodes  in   3697 ms (0.369715 ms/op 2704.784032/sec)
get       10000           znodes  in   1406 ms (0.140666 ms/op 7109.063331/sec)
deleted   10000 permanent znodes  in   4473 ms (0.447374 ms/op 2235.268217/sec)
created   10000 ephemeral znodes  in   3407 ms (0.340729 ms/op 2934.879438/sec)
watched   20000           znodes  in   2724 ms (0.136226 ms/op 7340.720835/sec)
zookeeper_research/stress_test_results.txt · Last modified: 2012/05/31 12:14 by julia
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki