Docker Redis Performance

<< Docker Redis Image

Docker Redis Performance

성능 테스트 서버 사양 Specification

Redis Server : Version 5.0.3
OS : CentOS 7
H/W Model: Dell R230
Processor : Intel(R) Xeon(R) CPU E3-1230 v6 @ 3.50GHz Turbo 3.9GHz (4 cores, 8 threads)
Main Memory: DDR4 19200E 8GB

Docker

Docker Version: 1.13.1

redis-benchmark 테스트 결과

Host OS에 설치한 레디스, 디폴트 네트워트(bridge)을 사용한 도커에서 실행한 레디스, 호스트 네트워크(host)를 사용한 도커에서 실행한 레디스의 성능을 비교했다.

  • Requests per Second
CommandsHost OSDocker
(bridge)
비교1 Docker
(host)
비교2
PING_INLINE 97,46679,23981% 103,413106%
PING_BULK 96,618 81,76685% 103,520107%
SET102,564 80,51579% 104,275102%
GET98,13577,82179% 103,520105%
INCR103,95081,16978% 105,042101%
LPUSH102,88181,76679% 104,603102%
RPUSH103,62782,03479% 104,932101%
LPOP101,93781,30180% 104,167102%
RPOP101,52380,25779% 104,058102%
SADD99,50278,80279% 104,167105%
HSET103,84281,43378% 104,932101%
SPOP98,32878,00379% 104,493106%
LPUSH (LRANGE)103,84280,84178% 105,042101%
LRANGE_10063,37147,43875% 66,622105%
LRANGE_30031,71629,41293% 31,766100%
LRANGE_50023,83822,86896% 23,861100%
LRANGE_60019,20918,10694% 19,150100%
MSET102,249 69,73568% 94,87793%
합계1,554,6001,232,50779% 1,592,438102%
  • 도커에서 network_mode Bridge를 사용한 경우 Port Forwarding이 되므로 성능이 좀 떨어진다. network_mode Host를 사용하면 Host OS에 설치한 레디스와 성능 차이가 나지 않는다.
  • info commandstats: per call(microsecond)
CommandsHost OSDocker
(bridge)
비교1 Docker
(host)
비교2
PING0.07 0.07100% 0.0686%
SET 0.26 0.29112% 0.277%
GET 0.16 0.21131% 0.1488%
INCR 0.23 0.27117% 0.1878%
LPUSH 0.46 0.4496% 0.3474%
RPUSH 0.34 0.3397% 0.2471%
LPOP 0.51 0.52102% 0.4384%
RPOP 0.39 0.4103% 0.3179%
SADD 0.19 0.1474% 0.1474%
HSET 0.32 0.36113% 0.394%
SPOP 0.14 0.21150% 0.171%
LPUSH 13.7214.43105%13.4298%
MSET 0.97 1.37141%1.05108%
합계17.7619.04107%16.9195%



<< Docker Redis Image

Email 답글이 올라오면 이메일로 알려드리겠습니다.