Skip to content

Instantly share code, notes, and snippets.

@juliangruber
Last active December 14, 2015 19:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save juliangruber/5139252 to your computer and use it in GitHub Desktop.
Save juliangruber/5139252 to your computer and use it in GitHub Desktop.
db performance comparisons (II)

This is just about GET & SET, the basic Key-Value store commands.

  • Redis is constantly fast and faster than Memcached
  • MongoDB is not a good key-value store
  • levelUp is only slower than levelDown doing PUT operations
  • leveled and levelUp perform almost the same
  • multilevel (levelUp rpc) isn't fast enough yet, even with a fake network layer
  • multileveled (leveled rpc) is faster than MongoDB doing GET and is slowed down heavily by the network layer
  • multilevel-http is not usable at all when performance counts
Redis
15,849 op/s ⨠ set small
18,625 op/s ⨠ set medium
18,733 op/s ⨠ set large
17,634 op/s ⨠ get large
18,514 op/s ⨠ get medium
18,345 op/s ⨠ get small
MongoDB
20,900 op/s ⨠ set small
22,947 op/s ⨠ set medium
22,035 op/s ⨠ set large
5,259 op/s ⨠ get large
5,980 op/s ⨠ get medium
6,461 op/s ⨠ get small
Memcached
11,644 op/s ⨠ set small
11,629 op/s ⨠ set medium
11,484 op/s ⨠ set large
12,333 op/s ⨠ get large
12,346 op/s ⨠ get medium
12,039 op/s ⨠ get small
levelUP
37,840 op/s ⨠ set small
36,189 op/s ⨠ set medium
34,063 op/s ⨠ set large
41,328 op/s ⨠ get large
45,933 op/s ⨠ get medium
48,099 op/s ⨠ get small
levelDOWN
69,075 op/s ⨠ set small
67,202 op/s ⨠ set medium
61,458 op/s ⨠ set large
48,181 op/s ⨠ get large
50,330 op/s ⨠ get medium
48,918 op/s ⨠ get small
leveled
73,808 op/s ⨠ set small
72,748 op/s ⨠ set medium
65,687 op/s ⨠ set large
60,643 op/s ⨠ get large
61,294 op/s ⨠ get medium
63,400 op/s ⨠ get small
multilevel
6,714 op/s ⨠ set small
6,413 op/s ⨠ set medium
6,121 op/s ⨠ set large
8,012 op/s ⨠ get large
8,214 op/s ⨠ get medium
8,215 op/s ⨠ get small
multilevel (fake network)
14,457 op/s ⨠ set small
14,230 op/s ⨠ set medium
12,659 op/s ⨠ set large
18,551 op/s ⨠ get large
18,563 op/s ⨠ get medium
18,844 op/s ⨠ get small
multileveled
9,851 op/s ⨠ set small
9,163 op/s ⨠ set medium
9,603 op/s ⨠ set large
9,315 op/s ⨠ get large
9,404 op/s ⨠ get medium
9,604 op/s ⨠ get small
multileveled (fake network)
28,962 op/s ⨠ set small
28,335 op/s ⨠ set medium
27,434 op/s ⨠ set large
26,322 op/s ⨠ get large
26,856 op/s ⨠ get medium
26,361 op/s ⨠ get small
multilevel-http
1,079 op/s ⨠ set small
1,227 op/s ⨠ set medium
1,813 op/s ⨠ set large
1,996 op/s ⨠ get large
1,635 op/s ⨠ get medium
978 op/s ⨠ get small
Memory
26,307,413 op/s ⨠ set small
9,572,282 op/s ⨠ set medium
14,120,584 op/s ⨠ set large
22,651,185 op/s ⨠ get small
33,082,786 op/s ⨠ get medium
34,338,065 op/s ⨠ get large
@DTrejo
Copy link

DTrejo commented Mar 12, 2013

What is the last result, memory? The memory of the process itself?
Cheers!

@rvagg
Copy link

rvagg commented Mar 17, 2013

@juliangruber given that the results can vary massively depending on the sizes of the keys & values can you give us some clue about methodology here?

@juliangruber
Copy link
Author

@DTrejo The last result is from storing everything in JavaScript memory

@juliangruber
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment