세분화해서 redis 성능을 보여주는데, 2.6.x 보다 성능이 확실하게 좋아졌습니다.
Get의 경우 초당 16만회 이상 가능하고
163934.42 requests per second
SET의 경우에도 비슷한 17만회 가능 합니다.
172413.80 requests per second
이정도 처리능력이면 redis 서버를 10개쯤 올려두면 (서버 1개에 포트만 바꿔서 여러개 올릴 수 있어요)
100만명의 push도 가능할 듯 싶습니다.
# redis-benchmark
====== PING_INLINE ======
10000 requests completed in 0.13 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
76923.08 requests per second
====== PING_BULK ======
10000 requests completed in 0.08 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
133333.33 requests per second
====== SET ======
10000 requests completed in 0.06 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
172413.80 requests per second
====== GET ======
10000 requests completed in 0.06 seconds
50 parallel clients
3 bytes payload
keep alive: 1
99.53% <= 1 milliseconds
100.00% <= 1 milliseconds
163934.42 requests per second
====== INCR ======
10000 requests completed in 0.06 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
172413.80 requests per second
====== LPUSH ======
10000 requests completed in 0.06 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
172413.80 requests per second
====== LPOP ======
10000 requests completed in 0.06 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
172413.80 requests per second
====== SADD ======
10000 requests completed in 0.06 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
169491.53 requests per second
====== SPOP ======
10000 requests completed in 0.06 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
169491.53 requests per second
====== LPUSH (needed to benchmark LRANGE) ======
10000 requests completed in 0.06 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
172413.80 requests per second
====== LRANGE_100 (first 100 elements) ======
10000 requests completed in 0.14 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
70921.98 requests per second
====== LRANGE_300 (first 300 elements) ======
10000 requests completed in 0.37 seconds
50 parallel clients
3 bytes payload
keep alive: 1
90.97% <= 1 milliseconds
100.00% <= 1 milliseconds
26881.72 requests per second
====== LRANGE_500 (first 450 elements) ======
10000 requests completed in 0.53 seconds
50 parallel clients
3 bytes payload
keep alive: 1
0.22% <= 1 milliseconds
99.78% <= 2 milliseconds
99.97% <= 3 milliseconds
100.00% <= 3 milliseconds
18867.93 requests per second
====== LRANGE_600 (first 600 elements) ======
10000 requests completed in 0.69 seconds
50 parallel clients
3 bytes payload
keep alive: 1
0.30% <= 1 milliseconds
97.25% <= 2 milliseconds
99.23% <= 3 milliseconds
99.88% <= 4 milliseconds
100.00% <= 4 milliseconds
14577.26 requests per second
====== MSET (10 keys) ======
10000 requests completed in 0.10 seconds
50 parallel clients
3 bytes payload
keep alive: 1
100.00% <= 0 milliseconds
104166.66 requests per second