tech planet 2015 - 라인 redis clusters를 서원필님이 발표했다. 발표 내용 중 좋은 팁들이 나와서 메모해 둔다.
http://techplanet.skplanet.com/speaker_track1.html#track1_6
#tip 1(사진을 못 찍음)
apache coomon pools
- jmx optionon, gc time 50% 증가
- pool설정이 잘못되면, stream buffer의 빈번한 생성/과로 인해 GC 부하
cpu affinity
- redis, nic interrupt cpu 분리하는 편이 좋음
- high load 상황에서 cpu usage 20-30%까지 차이 발생
(tip#1 슬라이드의 나머지 내용은 잘 기억 안남)
# tip 2
max-memory
- data가 너무 크면 slaveof 시간등이 늘어나게 된다. 26G dump에 33분분
maxmemory-policy
- rehashing 중에 max-memory에 도달하면, LRU가 필요 이상으로 많은 메모리를 삭제하려는 문제가 있음
- 상황에 따라 N분간 LRU 삭제만 할 수도 있음
(hash 크기를 크게 하여 사용)
ziplist/intst 적극 활용
- 평균 45% 정도의 메모리 사용량 감소 효과
- 한번 ziplist/intset -> set/hash/zset/list로 바뀌면 다시 반대로 돌아가지 않는다.
- "zunionstore key 1 key" 형태로 하면 강제로 변경 가능하지만 fragmentation 문제 발생 가능
-- mem_fragmentation_ratio:2.33
# tip 3
Lua script 적극 활용
- number of I/O
- Atomicity
client-output-buffer-limit 설정
- write가 많으면 "client-output-buffer-limit.slave" 기본값으로는 slaveof 실패할 수 있음
사람은 실수를 한다.
- keys, shutdown, flushall, flushdb, save 등 위험한 명령어는 rename
기본적으로 하지 말아야 할 것들에 대한 정보
- src/latency.c, createLatencyReport()
'nosql' 카테고리의 다른 글
[cassandra] Unsupported null value (0) | 2015.12.28 |
---|---|
프레스토 소개 (facebook presto) (0) | 2015.11.05 |
[mongodb] mongodb ui tool - mongohub (0) | 2015.09.22 |
[mongodb] in linux - WARNING: soft rlimits too low. rlimits set to (0) | 2015.09.22 |
[mongodb] 3.0 overview + wiredTiger (0) | 2015.09.22 |