테스트 환경
windows10 pro (라데온 3600에 램 32기가 지포스 2070 슈퍼)
docker desktop for windows
도커 이미지는
몽고디비 lastest (테스트 collection의 모든 필드에 index를 지정해줌)
엘라스틱 7.12.0 버전 (테스트 인덱스의 샤드는 1 리플리카는 0)
이렇게 사용했고 본인 컴퓨터에다가 이미지를 실행시켜서 테스트를 진행했다.
테스트 방법
둘 다 동일한 형태로 동일한 데이터 100만 건을 넣어서 처리시간 및 용량 체크를 해봤다.
데이터 필드는
날짜 포맷 2개, 단순 텍스트 포맷(몽고: String, 엘라스틱: keyword) 8개, 숫자 포맷 5개
이렇게 구성되어 있고 데이터를 넣을 땐 둘 다 bulk 기능을 사용했다.
한번 bulk 할 때 5000개의 데이터를 세팅해 주었고, 5초의 sleep을 주었고,
while 문으로 100만 건이 될 때까지 반복시켰다.
처리 시간
위 사진은 몽고디비 데이터 처리할 때 찍은 로그이다.
run의 시간은 5000개의 데이터를 처리하는데 걸린 시간이고
runTotal은 100만 개 데이터를 처리하는데 걸린 시간이다.
보통 1~2초대의 시간이 걸렸고 늦을 땐 3초 대, 정말 가끔 그 이상 시간도 있었다.
위 사진은 엘라스틱 데이터 처리할 때 찍은 로그이다.
run의 시간은 5000개의 데이터를 처리하는데 걸린 시간이고
runTotal은 100만 개 데이터를 처리하는데 걸린 시간이다.
보통 1초 미만에서 1초대의 시간이 걸렸고 늦으면 2초 때도 있었다.
1초 미만의 시간대가 더 많긴 했다.
일단 전체적으로 처리 속도는 엘라스틱이 더 빨랐다.
용량
먼저 엘라스틱
세레브로에서 100만 건을 넣은 인덱스의 데이터를 확인하니 72.55MB가 나왔다.
도커 이미지에 들어가서 데이터가 저장되는 곳에선 용량이 435MB인가 그랬는데 왜 이리 차이가 나지? 했었는데
세레브로에서 인덱스를 클리어 캐시를 적용을 한 후 다시 보니깐 세레브로에 표기된 용량과 비슷했다.
정확한 이유는 찾아봐야 알 것 같다.
몽고 디비는
저 사이즈를 MB로 변환하면 대략 454MB가 된다.
몽고디비도 도커 이미지에 들어가서 데이터가 저장되는 곳에서 확인해보니 용량은 사진과 비슷했다.
어느 정도 차이가 있을 거라고 생각하긴 했는데 생각했던 것 보다 이렇게 많이 차이가 날줄은 몰랐다.
'ETC' 카테고리의 다른 글
윈도우노트북에 유용했던 단축키와 터치패드 그리고 기능들 (4) | 2022.02.12 |
---|---|
2021년 그리고 2022년 (2) | 2022.01.01 |
HTTPS (0) | 2021.01.15 |
RESTful API (0) | 2021.01.15 |
해시 함수 (hash function) (0) | 2020.12.31 |