NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



The Little Known Secret of Redis

It’s the redis-benchmark. In Salvatore’s words:

a little known feature of redis-benchmark introduced recently by Pieter Noordhuis is that you can benchmark any command you want (only available in Redis unstable branch, but you can use redis-benchmark from unstable to benchmark Redis 2.4.x):

 $ ./redis-benchmark -q -n 100000 zadd sortedset 10 a 
 zadd sortedset 10 a: 152439.02 requests per second

To compare it with another command:

 $ ./redis-benchmark -q -n 100000 set foo bar 
 set foo bar: 153374.23 requests per second

However you can say that we are setting again and again the same element. True… but there is an hidden feature of redis-benchmark that allows to randomize arguments:

 $ ./redis-benchmark -q -r 100000 -n 100000 zadd sortedset 10 ele:rand:000000000000
 zadd sortedset 10 ele:rand:000000000000: 104166.67 requests per second 
 $ redis-cli zcard sortedset
 (integer) 63202

The same thread also covers the performance of sorted sets in Redis.

Original title and link: The Little Known Secret of Redis (NoSQL database©myNoSQL)