GoogleCloudPlatform의 완전 관리형 redis, Memorystore의 성능을 redis-benchmark로 측정해 본다

소개



AWS에는 있지만 GCP에 제공되지 않은 것으로 이전에는 완전히 관리되는 redis 서비스가 제기되었습니다.
하지만 그것도 옛 이야기, GoogleCloudPlatform에도 Memorystore라는 완전관리된 redis가 제공되게 되어 있습니다.
(아주 많이 전의 이야기이지만……)

AWS의 ElasticCache와 비교하여 얼마나 많은 성능이 나올지 궁금하기 때문에 먼저 Memorystore의 성능을 측정하려고합니다.

기사적으로는 이 기사 에 가까울까!

측정 환경





구성도를 쓰는 내용이 아니다.

redis 설정



redis 버전은 3.2, 인스턴스 용량은 1GB, 고가용성은 잘립니다.
네트워크 처리량은 인스턴스 용량에 따라 올립니다만, 이번은 최소한의 1GB이므로 375MB/s입니다!

막상 실행



redis-benchmark로 각 커맨드를 500회, 동시 접속수를 점점 늘려가는 설정으로 해 보려고 생각합니다.
redis-benchmark -h 10.0.0.11 -p 6379 -c ここを変えていく -n 500 -q


동시 연결 수
10
25
50
100


PING_INLINE
25000.00
50000.00
41666.67
55555.56

PING_BULK
26315.79
55555.56
50000.00
55555.56

SET
27777.78
55555.56
62500.00
62500.00

GET
26315.79
50000.00
55555.56
62500.00

INCR
27777.78
50000.00
55555.56
62500.00

LPUSH
29411.76
50000.00
50000.00
71428.57

RPUSH
26315.79
50000.00
62500.00
55555.56

LPOP
27777.78
62500.00
55555.56
62500.00

RPOP
14285.71
62500.00
55555.56
55555.56

SADD
27777.78
50000.00
71428.57
62500.00

SPOP
25000.00
50000.00
55555.56
71428.57

LPUSH (needed to benchmark LRANGE)
26315.79
55555.56
38461.54
62500.00

LRANGE_100 (first 100 elements)
19230.77
35714.29
35714.29
41666.67

LRANGE_300 (first 300 elements)
11363.64
20000.00
16666.67
17241.38

LRANGE_500 (first 450 elements)
9090.91
12820.51
12820.51
11627.91

LRANGE_600 (first 600 elements)
7142.86
9803.92
9433.96
9433.96

MSET (10 키)
22727.27
38461.54
45454.55
50000.00


수치는 requests per second, 1초에 얼마나 액세스를 거부했는지입니다!

그리고, 여기까지 써서 깨달았습니다만…
결과를 비교하려고 해도 비교원이 없기 때문에 정말 말할 수 없다는 본말 전도 듬뿍.
한층 더 각 커맨드에 대해서 각각 한번 밖에 계측하고 있지 않기 때문에, 왠지 이상한 느낌이 되고 있는 생각이…



다음에 계속


  • VM 측이 성능 한계에 걸리면 원래도 아이도 없기 때문에, 문제가되기 전에 더 스펙을 올린다
  • 같은 명령에서도 여러 번 시도해보고 평균 결과를 얻습니다.
  • 수동으로 테이블을 만드는 것은 귀찮아서 간단한 프로그램에서도 준비합시다
  • redis에 쓰는 데이터의 용량을 비교해보십시오.
  • AWS ElasticCache와 자신의 macbook pro에 구축 된 docker 환경에서도 동일한 것을 시도하고 비교합시다
  • 좋은 웹페이지 즐겨찾기