본문 바로가기
일지/Proj4

[QuakePot] Docker Desktop vs OrbStack(feat. edge-case block)

by 리나그(ReenAG) 2026. 1. 31.
728x90
반응형

 오늘은 좀 더 재미있는 주제를 들고왔다. Docker Desktop과 Mac전용의 OrbStack의 성능을 비교하는 것이다.

 

 8gb짜리 컴퓨터에서 뭔가를 하려고하면 보통은 램이 모자라기 마련이다. 특히 요즘에는 Docker를 TimescaleDB때문에 쓰다보니까 더 그랬다. 그랬는데 Gemini에 따르면 OrbStack이라는게 MacOS한정으로 더 좋다! 라고 광고를 하길래 실제로 깔아서 돌려봤는데 이게 진짜로 그렇게 차이가 큰 건가?를 잘 모르겠어서, Stats, 활성 상태 보기를 통해서 내 수집기를 돌리기 더 좋은 도커 구현이 뭔지를 비교해 보려고 한다.

본심은, 왠지 OrbStack을 쓰는게 해골물 처럼 느껴져서 그랬다.

해당 이미지의 OrbStack 로고는 부정확합니다... 나노 바나나를 탓하십시오

 

 실험 환경은 일단

0. 부팅

1. OrbStack혹은 Docker Destop 키기

2. Stats / 활성 상태 보기를 켜서 벤치마크 보기

3. 내 블록체인 데이터 수집기를 켜서 부하 확인

이다. 

 

 특징이 있다면 내 수집기는 SSD에 고루 부하를 주는 편이며, 이는 TimescaleDB에도 마찬가지이다. COPY protocol과 일반적인 SELECT, INSERT, UPDATE도 자주 수행한다. 따라서 Container에도 충분히 부하가 간다고 볼 수 있겠다. 그리고 외부 SSD를 실제 볼륨으로 쓰는게 다행히도 평가의 공정에 더 좋을 것으로 보이는게, 거의 똑같은 환경을 재현할 수 있기 때문이다. 운영하는 컨테이너만 달라진다!

 다만 어짜피 수집자체는 굉장히 Network I/O에 많은 영향을 받으므로 일정 부분 이상으로 쓰루풋을 늘릴 수 없으니, 돌아가는 상황에서 얼마나 RAM을 많이 먹는지를 더 중요하게 보면 된다. 이렇게 이야기는 하지만 아주 엄밀한 시험은 아닌 것을 감안해주면 좋을 것 같다...

1) Docker Desktop

1. 시작 전

2. 수집기 실행 중(안정 상태)

2) OrbStack

1.시작 직후

2.수집기 실행 중(안정 상태)

3) 결론

 일부러 OrbStack(실행만 하고 기록X) -> Docker Desktop -> OrbStack 순으로 실험해서 OrbStack이 불리한(CPU에서 발열등) 조건에서 시작하도록 했는데도, 확실히 OrbStack이 더 적은 메모리로 일을 처리하는 것을 볼 수 있었다. 대충 압축된 메모리가 1GB중반에서 2GB후반~3GB에서 계속 노는것, 특히 메모리 압력면에서 Docker Desktop이 더 많은 리소스를 점유했다는 것을 알수 있었다. 그니까 해골물은 어찌되었건 아니라는 소리이다. 더 엄밀한 테스트를 위해서는 앱의 troughput을 봐서 쓰루풋 대비 리소스 점유율을 보는게 좋겠지만, Docker Desktop이 메모리를 훨씬 불안정적으로 소비한 것도 사실이었다.

 

 내가 왜 이전에는 OrbStack을 그렇게 체감하지 못했는가를 또 알게 되었는데, 애초에 OrbStack이 적게 쓴다고 한들 Chrome하나 키니까 벌써 압력이 엄청 올라가는 것을 볼 수 있었기 때문이다. 딱! 수집기만 돌리니까 저렇게 쓰는거고, 나머지 작업은 벌써 버벅 거리고 느려진 것이다...

 

 이번 실험은 다음에 새로운 하드웨어에서도 실행해볼건데... 뭐 어짜피 같은 애플제품이라서 그렇게 다른 환경은 아닐 것 같다는 생각이 든다. 

 

P.S 77396273번 블럭 내 코드를 가끔 멈춰세우는 주범이었다는 것을 막 알았다.

https://tronscan.org/#/block/77396273

 

TRONSCAN | TRON BlockChain Explorer

TRONSCAN is the first blockchain browser in the tron community. It supports multiple login methods and provides a complete browsing and search experience. Experience the tron-ecology in the TRONSCAN blockchain browser.TRONSCAN是首款社区型波场区块

tronscan.org

이게 뭐 특별한 블록임? 이라고 하면 뭐 기술적으로 특별한건 아니고 양이 특별하다고 할 수 있겠다. 이것보다 트랜잭션이 한번에 많이 담긴 블럭을 찾는 것은 생각보다 까다로울 것이다. Tron은 블럭 1개에 3초 남짓한 시간이 걸리므로, 1000개가 넘는 USDT Transfer가 있는 것은 나름 희귀한 일이다. 확률이 적기에 난 이걸 무시 했으나, 이 블럭이 증명하듯 일어날 수 있는 일인 것이다. 멋대로 이것을 상정한 수집 코드를 짜버려서 Infinite Recursion 문제를 만들어 버렸고, 그것때문에 대역폭은 대역폭대로 날리고 쓸데없는 작업을 많이 진행해버렸다. ㅠ 앞으로는 Edge-Case를 더 신경 써서 만드는 것이 좋을 것 같다...

 

728x90
반응형