redis_performance
Redis Server Performance
Redis Server 教育 Redis Server Course |
Redis 定期点検/技術支援 Redis Technical Support |
Redis エンタープライズサーバ Redis Enterprise Server |
---|
레디스 서버 성능
성능 테스트 서버 사양 Specification
Redis Server : Version 3.0.1
OS : CentOS 7
H/W Model: HP DL320e Gen8 v2
Processor : Intel Xeon E3-1231V3.3 3.4GHz
Main Memory: DDR3 8GB RAM
Disk 1: SSD 256GB
Disk 2: SATA3 1TB
OS : CentOS 7
H/W Model: HP DL320e Gen8 v2
Processor : Intel Xeon E3-1231V3.3 3.4GHz
Main Memory: DDR3 8GB RAM
Disk 1: SSD 256GB
Disk 2: SATA3 1TB
Redis-benchmark 기본 테스트
- 테스트 결과
- 테스트 결과를 보면 SET, INCR, LPUSH 같은 대표적인 명령들이 초당 26만회 정도 처리한다.
- Appendonly 여부와 상관없이 비슷한 성능이 나왔다.
Appendonly를 everysec로 설정해서 운영하면 성능에 별 영향이 없을것으로 판단된다. - Appendonly를 always 설정하면 초당 1200회 처리하는 것으로 나왔다.
Always로 하고 레디스를 사용하는 것은 고려하지 않는것이 좋을거 같다.
Case 1: Appendonly No
Case 2: Appendonly Yes, everysec, Disk: SSD
Case 3: Appendonly Yes, everysec, Disk: SATA3
Case 2: Appendonly Yes, everysec, Disk: SSD
Case 3: Appendonly Yes, everysec, Disk: SATA3
Commands | Case 1 | Case 2 | Case 3 | Remark |
---|---|---|---|---|
PING_INLINE | 207,468 | 208,333 | 217,864 | |
PING_BULK | 257,069 | 261,096 | 260,416 | |
SET | 260,416 | 263,852 | 266,666 | |
GET | 261,096 | 261,096 | 258,397 | |
INCR | 263,157 | 268,817 | 269,541 | |
LPUSH | 263,852 | 269,541 | 266,666 | |
LPOP | 261,780 | 268,817 | 268,096 | |
SADD | 264,550 | 265,957 | 267,379 | |
SPOP | 265,252 | 266,666 | 263,852 | |
LRANGE_100 | 97,751 | 98,328 | 97,276 | first 100 elements |
LRANGE_300 | 37,078 | 36,873 | 36,941 | first 300 elements |
LRANGE_500 | 25,940 | 25,779 | 25,786 | first 450 elements |
LRANGE_600 | 19,924 | 19,952 | 19,813 | first 600 elements |
MSET | 208,768 | 161,550 | 168,350 | 10 keys |
Master-Slaves SET 테스트
- Master : appendonly no, rdb no
- Master -> Slave1 : appendonly no, rdb no
- Master -> Slave1 -> Slave2 : appendonly no, rdb no
- Master -> Slave1 -> Slave2 : Slave2 만 appendonly yes 로 설정, rdb no
- Master -> SlaveA1 : appendonly no, rdb no
-> SlaveB1 : appendonly no, rdb no - Master : 물리 메모리(RAM) 용량을 초과해서 Swaping 될때 성능이 1/4로 이하로 떨어지므로 메모리를 초과해서 사용하지 않도록 모니터링을 해야 하고, 성능이 떨어졌을때 Swaping 때문인지 확인해 봐야 한다.
- Swap 영역을 사용하게 되면 470MB RDB 파일 BGSAVE나 BGREWRITEAOF를 하는데도 상당한 시간이 소요된다.
260,416 requests per second
241,466 requests per second
226,730 requests per second
220,306 requests per second
200,154 requests per second
51,156 requests per second, 정상 수치 : 260,416
Data size에 따른 성능
- H/W: PowerEdge R230
- CPU: Intel(R) Xeon(R) CPU E3-1230 v6 @ 3.50GHz
- # src/redis-benchmark -p 6000 -t set -d 10
103519.66 requests per second <- aof on everysec - # src/redis-benchmark -p 6000 -t set -d 100
102880.66 requests per second <- aof on everysec - # src/redis-benchmark -p 6000 -t set -d 1000 -> 1k
94250.71 requests per second <- aof on everysec - # src/redis-benchmark -p 6000 -t set -d 10000 -> 10k
31486.14 requests per second <- aof on everysec
93196.65 requests per second <- aof no - # src/redis-benchmark -p 6000 -t set -d 100000 -> 100k
2329.97 requests per second <- aof on everysec
18786.40 requests per second <- aof no
21074.82 requests per second <- get - # src/redis-benchmark -p 6000 -t set -d 200000 -> 200k
1200.54 requests per second <- aof on everysec
8776.55 requests per second <- aof no
9367.68 requests per second <- get - # src/redis-benchmark -p 6000 -t set -d 300000 -> 300k
813.25 requests per second <- aof on everysec
6346.39 requests per second <- aof no
5862.35 requests per second <- get
Redis 성능
- 멀티 클라이언트 vs 레디스 서버 싱글 스레드
성능에 관한 글
- Redis.io에 성능에 관한 자세한 글 How fast is Redis?
- Redis 개발자 Salvatore가 2010년 9월 21일(화)에 올린 글 On Redis, Memcached, Speed, Benchmarks and The Toilet
- dormando가 2010년 9월 21일(화)에 올린 글 Redis VS Memcached (slightly better bench)
- Salvatore가 dormando 글에 대한 Update 글 2010년 9월 23일(목) An update on the Memcached/Redis benchmark
<< Architecture Overview | Redis Server Performance | Redis-cli >> |
---|
조회수 :
Email
返事がかかってなれば、メールでお知らせします。