linux용 10gbps 통신 질문
조회 5855 추천 0
https://www.intel.com/content/dam/support/us/en/documents/network/sb/… (1058)
안녕하세요,
최근에 10gbps 홈네트웍을 구축하면서 속도가 300MiB/s(2.5Gbps) 밖에 안나와서 질문을 올립니다.
일단 서버가 아래와 같이 있는데요
서버1: CPU Epyc 24C48T, RAM 128GiB ECC, NVMe 4TB, intel X550 10G x 2 온보드, Ubuntu server 18.04
서버2: Core i9 9900T 8C16T, 32GiB, NVMe 1TB, intel X540 x2 pci-e, Ubuntu server 20.04
서버3: Ryzen 3400GE 4C8T, 32GiB ECC, NVMe 512GB, intel X550 x2 온보드, Ubuntu server 18.04
세 서버간 CAT 8 (산와서플라이) 랜선으로 서로 직열하고 10.1.1.* 대역으로 이더넷을 구축했어요. (중간에 스위치는 없습니다)
그런데 임의의 서버 두대로 3GiB 용량의 파일을 scp, rsync등으로 전송을 해봤는데 전부 280-290MiB/s 에서 올라가지 않습니다.
검색해보니 scp, rsync등으로 전송할 경우 엄한데서 오버헤드(저의 사양을 보시면 알겠지만 오버헤드가 여기서 문제일것 같진 않지만 ..)가 생길 수 있고 ssh 기반으로 전송하는것 자체가 문제라는 둥 정확한 답은 찾지 못했습니다.
정확히 무슨 문제 인지 잘 파악이 안되어 질문을 올립니다.
1) 랜카드 문제: 세 기기의 랜카드가 동시에 고장이 아닌 이상 아닌것으로 보입니다.
2) 저장소 bottleneck: 전부 3000-5000MiB/s의 전송속도를 가지는 NVMe이라 이 문제도 아닌것 같습니다. FS도 btrfs, zfs, ext4등 다양하게 해봤지만 차이가 없었습니다.
3) ubuntu netplan/network interface 설정 문제: 이 부분은 제가 문외한이라 여러 옵션들을 만져봤지만 변화가 없었고 일단 더 공부가 필요한 상황입니다.
4) 랜선 문제: 산와서플라이 CAT 8 랜선입니다. 다른 CAT 7 랜선으로 바꿔봤지만 똑같이 280-290MiB/s에서 멈춥니다.
5) 전송 소프트웨어 문제: scp, rsync를 주로 이용하는터라 다른 툴을 잘 몰라 이쪽도 여쭤보고 싶습니다, 10G에서 전송수단으로 쓰는 툴이 따로 있을까요?
감사합니다.
P.S. 링크에 조금 옛날 자료이긴 한데(10년전) 인텔의 10Gbps 상황별 툴별로 성능 차트를 만들었더군요 ... 여기에서도 scp, rsync 가 기본적으로 암호화때문에 속도가 저하되는 문제가 있었지만 ... 지금도? 여전히 이런가 갸우뚱하군요 ..
어지간하면 10G 나옵니다
https://ostechnix.com/quickly-transfer-large-files-network-linux-unix/
netcat이랑 pv를 사용하니 1000MiB/s가 나오는군요 ...
아무래도 scp는 근본적인 한계가 있는것 같군요
따로 구현해서 써야 겠습니다 ㅎㅎ
epowergate님 말씀대로 netperf 같은 대역폭 벤치마크용 툴을 이용해서 테스트 해보시거나
단순하게 ftp나 nfs 로 붙여서 테스트 해보시기 바랍니다.
SSH에서 암호화를 arcfour로 제한하면 조금 나아지긴 하는데 아무래도 암호화 자체가 느려서 10G 속도를 다 뽑아내기 힘들거라고 보여집니다.
ssh로 할때는 10G 전송 구간에서 맥스 50M 정도 나오던것이 ftp로 하니 300M 정도로 나오더군요.
용량이 작은 부분은 ssh 로 하더라도 문제가 없지만, 대용량의 DATA백업은 ftp 가 제일 좋더군요.