분할 전송을 지원하는 FTP 클라이언트를 사용할 것

FTP 서버의 버퍼와 병렬 파일 전송 개수를 늘릴 것

폐쇄망에서는 암호화(SFTP)를 사용하지 말것



1. (FTP Client) 분할 전송 지원 사용

FTP 전송속도 향상을 위해서는 병렬 파일 전송 뿐만 아니라 분할 파일 전송이 가능해야 함

(참고) FTP 전송의 이해

(warning) 분할 파일 전송은 FTP 클라이언트가 지원해 주어야 함
오픈소스 분할전송 지원 FTP Client 목록 : lftp, Rclone, ... (FTP 전송의 이해 → FTP 클라이언트 비교표 참고할 것)

(warning) FileZilla FTP Client 를 포함한 대부분의 오픈소스 FTP Client 는 분할 파일 전송을 지원하지 않음
(참고) 분할 파일 전송은 FileZilla 오픈소스 커뮤니티에서 2005년부터 그 필요성이 무수히 제기되었으나, 지난 17년 동안 Feature Request 가 Reject 되었음

(warning) FTP 클라이언트를 자체 개발하는 경우, 분할 다운로드를 지원하도록 해야 함


2. (FTP Client) 병렬 파일 전송 수 높게 설정

(참고 1) FileZilla FTP 클라이언트 병렬 전송 설정

(warning) FileZilla FTP Client 는 병렬 전송은 지원하지만 분할 전송은 지원하지 않음


3. (FTP Server) 버퍼 및 병렬 파일 전송 개수 높게 설정

(참고 1) FileZilla Server buffer 설정 메뉴

(참고 2) FileZilla Server buffer 설정 값

(참고 3) FileZilla Server 의 Number of User 기본값은 0 (무제한임)


4. SFTP 비활성화

SFTP 가 사용하는 OpenSSL 라이브러리의 버퍼가 근거리 전송(LAN)에 최적화 되어 있음

OpenSSL 라이브러리의 버퍼가 너무 작아, SFTP 어플리케이션의 버퍼를 늘려도 효과가 미비함

(warning) 장거리 전용망 혹은 폐쇄망의 경우 SFTP 를 사용하지 말 것


5. 기타

5.1. 리눅스 TCP 파라미터 최적화

크레오넷 데이터 고속전송 가이드리눅스 네트워크 튜닝 을 참고하여 설정할 것


5.2. 윈도우 TCP 파라미터 최적화

크레오넷 데이터 고속전송 가이드윈도우 TCP 튜닝 을 참고하여 설정할 것

(warning) 장거리 전송 양단에 윈도우를 활용할 경우 전송 양단에 모두 서버용 운영체제를 활용할 것

  • 서버 제품군 중에서는 Windows Server Essentials 이 가장 저렴함 (Windows 10 대비 5배 가격)
  • Windows Server Essentials 2019 이후 버전을 사용할 것
  • Windows Server Insider Preview 프로그램을 통해 베타판을 다운로드 받아 구매 전 테스트 가능


5.3. 고속 디스크 사용

(warning) 10Gbps 회선에서는 NVMe 디스크를 사용할 것

디스크 종류BUS 속도성능
SATA SSD6Gbps

Samsung 860 EVO

순차읽기: 550MB/s / 순차쓰기: 520MB/s

NVMe (PCIe 3.0 x4)32Gbps

Samsung 980 NVMe

순차읽기: 3,100MB/s / 순차쓰기: 2,600MB/s


5.4. Multi-thread 사용

서버/클라이언트가 가능한 한 쓰레드를 활용하고, 적당한 쓰레드 숫자를 찾을 것


5.5. 미리 파일을 압축해 전송할 것

파일의 압축률이 좋다면, 미리 파일을 압축해 전송하고, 수신단에서 압축을 풀어 사용할 것


  • No labels