왼쪽은 100만, 오른쪽이 1000만이다. key의 크기에 상관없이 성능은 일정함을 알 수 있다. 1억개에 대해서도 테스트해보고 싶었는데.. 메모리가 부족해서, 포기했다.
성능 최적화
REDIS는 separate chaining hash table에 데이터를 저장한다. 따라서 시간 복잡도는 O(1 + n/k)가 된다. N은 key의 갯수, k는 버킷의 갯수다. key가 늘어나면 시간 복잡도도 커지는데, 버킷을 늘리는 것으로 성능을 최적화 할 수 있다. k를 잘 관리하면 거의 O(1)로 성능을 유지할 수 있을 것이다. 물론 공짜는 없다. 버킷을 늘린다는 것은 그 만큼 메모리를 쓰겠다는 이야기다. 공간을 희생해서 성능을 올리겠다는 이야기.
목적
테스트 환경
테스트
성능 최적화
Recent Posts
Archive Posts
Tags