-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[additional] 메모리를 네트워크로 접근 vs. 로컬 디스크를 접근하기 속도 비교 #15
Comments
이거 제가 정확하게 이해한게 맞는지 모르겠어서...
위 문구를 이렇게 이해하면 될까요? 맞다면 위 내용을 |
네 짚어주셔서 감사합니다. 엄밀하게는 내부 네트워크 I/O 비용과 로컬 디스크 I/O 비용으로 생각하고 있었습니다. 2010 즈음 한 커뮤니티에서 비슷한 논의와 참고 자료를 확인해 봤는데요. 여기서 얻은 수치 비교입니다.
(A) + (B) = 10.74 ms 를 네트워크 비용이라고 했을 때 |
PoC 계획
고민하기
1. 볼륨 처리량 설정gp3는 SSD 볼륨, st1은 HDD 볼륨입니다. 둘다 EC2와 네트워크로 연결되는 볼륨이기 때문에 다음 사항을 고려해야 합니다. a. 인스턴스 타입: 결국 인스턴스의 네트워킹 지원이 EBS 최대 성능을 발목잡는 요인이 되어 제일 신경씁니다. 인스턴스 타입이 제공하는 네트워크 대역폭이 다릅니다. 또 EBS 전용 대역폭을 제공하는 EBS 최적화 유형도 있고요. 어떤 인스턴스는 하루에 30분만 최대 대역폭을 지원하고, 그외에는 쫀쫀따리 기준 대역폭으로 제공합니다. 지금은 EBS 두 개를 물릴 것이고 순차로 PoC 할 거라, 인스턴스 한계 내에서 볼륨 성능을 설정할 수 있습니다. EBS 최적화와 인스턴스 스토어를 지원하는 타입을 하나 선정해 볼게요. ➡️
b. I/O할 블록 단위: 블록 단위는 IOPS와 곱해서 처리량이 됩니다. AWS가 제공한 처리량 기준이 gp3: 16KiB, st1: 1MB 이므로 이것을 기준으로 IO 하겠습니다. 실제 물리 계층에서 쓰는 블록 크기와 동일한지 미지수네요. c. 네트워크 지연: EBS 공식 문서는 10ms 이내 얘기하고 있습니다. 2. 인스턴스 스토어 사용 준비인스턴스 스토어는 일반 SDD와 NVMe로 나뉩니다. 전자는 인스턴스를 띄울 때 별도로 경로를 잡아줘야 합니다. 인스턴스 스토어 활성 과정은 공식 메뉴얼을 참고합니다.
따라서, 4KB 블록을 256번 IO하여 1MB를 읽거나 쓰기에 무리 없는 성능입니다.
*C타입이라 별로 같지만, I타입으로 가면 이론상 수치가 EBS 볼륨들을 훨씬 능가합니다. EBS라면 10ms 이내 라운드 트립과 대역에 따른 데이터 전송 속도도 고려해야 하죠. 3. 더미 생산 및 저장 |
연관 챕터
#7
조사 내용
한편 네트워크는 다른 누군가의 메모리에 접근하는 속도가, 자체 디스크에 접근하는 것보다 더 빠를 정도로 충분히 빨라졌다.
(p.99) 라는한 줄이 인상 깊었는데요, 비교해 주는 벤치마크 수치를 리서치 해 두면 좋을 것 같아요.
관련 논문 찾는 것 부터 시작해서, 없으면 테스트 해 보는 걸로요. 추후 아키텍처 결정에서 두고두고 참고하기 좋은 근거 자료가 될 것 같습니다.
@caffeine-library/readers-release-everything
The text was updated successfully, but these errors were encountered: