Hi,
We were exploring the best possible ways to load the data-set to redis in lesser time. The redis benchmark statistics in http://redis.io/topics/benchmarks (under 'Factors impacting redis performance) claims it can process upto 100kb of data per sec. with 20,000 q/s in an unix socket. Based on this numbers, redis should be able to process 1.8 GB of data per sec. (20,000 * 100kb) = 1.86 GB.
We have started our redis server with aof enabled. After capturing the whole data-set (which is 11 GB in disk, aof format), now we restarted the redis server to load the data from the aof file, which took about 8 minutes. Based on the aforementioned benchmark statistics from redis.io, loading 11 GB of data should have happened in seconds, but contrarily it took 8 minutes.
Kindly through some lights on the above difference..!!
We are expecting the throughput of aof format to be equal to client, since aof format saves the commands as like client command processing. The one difference we see in the aforementioned benchmark statistics and the one with aof load is the number of threads used. With benchmark utility its 20,000 queries triggered in parallel, where as with aof load its a single thread processing the commands in sequence.
Is this the one making such a huge throughput difference !!?? If this is the case, can splitting the aof file and loading it in parallel could help us in achieving the throughput mentioned in the redis.io doc !?
Server details :
Our redis server where we tried the aof load is running in a VM, with 32 GB of RAM, 200 GB of Disk. The host is an Supermicro with 2 physical CPU, 10 cores each and hyper-threading enabled. Its an 4U server.
OS - CentOS-6.4.
Redis- Version - 2.8.17.
Kindly help us in understanding the redis performance, in the above context.
-Sairam.
We were exploring the best possible ways to load the data-set to redis in lesser time. The redis benchmark statistics in http://redis.io/topics/benchmarks (under 'Factors impacting redis performance) claims it can process upto 100kb of data per sec. with 20,000 q/s in an unix socket. Based on this numbers, redis should be able to process 1.8 GB of data per sec. (20,000 * 100kb) = 1.86 GB.