
Zedis 0.2.0은 기본 실행 방식을 단일 스레드로 바꾸고 명령어 처리와 저장 방식을 개선했다. 제작자는 단일 실행 스레드 벤치마크에서 Linux 기준 Redis 8.8.1보다 40~51%, macOS 기준 3배 빠른 성능을 냈다고 밝혔다.
Linux에서 같은 장비로 실행한 비교 결과는 다음과 같다.
| 항목 | Redis 8.8.1 | Zedis 0.2.0 |
|---|---|---|
| SET (100c -P32) | 990k rps | 1,389k rps |
| GET (100c -P32) | 1,064k rps | 1,613k rps |
| SET p50 | 2.9ms | 2.2ms |
| GET p50 | 2.3ms | 2.0ms |
| GET 최대 지연 시간 | 6.3ms | 2.9ms |
AOF appendfsync always | ~200k rps | ~190k rps |
일반 벤치마크는 영속성을 끄고 redis-benchmark -n 100000 -c 100 -P 32로 실행했다. 장비는 Ubuntu 26.04.1 LTS, Linux 7.0.0-34-generic, i7-11800H, 32GB RAM이다. AOF 수치는 릴리스 노트가 별도로 제시한 결과다.
주요 변경점은 버퍼에 들어온 명령어를 추가 할당 없이 한 번에 파싱하는 기능, 파일 입출력을 전담 스레드로 옮기고 여러 쓰기를 한 번의 fsync로 묶는 방식, 자체 해시 맵 도입이다. 제작자는 appendfsync always 처리량이 약 450 rps에서 약 190k rps로 늘었다고 밝혔다. 기본 실행기 수가 1로 바뀌었으며, 이전 동작을 원하면 executors auto를 설정해야 한다.
0.1.x에서 업그레이드할 때는 설정 파일에 aof_write_buffer_size가 있으면 삭제해야 한다. 빌드 최적화 기본값은 ReleaseFast로 바뀌었다. 이 밖에 TTL, RENAME, 정수 명령 응답, 오류 응답, AOF 기록, CONFIG 등록과 Linux 시계 초기화 관련 버그를 수정했다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요