(2022~) 항우연 전송성능 개선 (진행중)

(진행중) 항우연 위성정보망 (폐쇄망, 전용선) 데이터 전송 성능 개선



개요

  • 항우연 제주 위성추적소 ~ 대전 항우연 본원 간 전송성능 개선
  • 대전 항우연 본원 ~ 데이터 수요기관 간 전송성능 개선
  • 10Gbps 회선의 WAN 구간에서 윈도우 OS 및 FTP 전송에서 데이터 전송성능 개선


현황

네트워크

  • 국가과학기술연구망(크레오넷, KREONET)을 통한 10Gbps 급 폐쇄망(전용선) 구성
  • 전용선 양단에 10G급 보안장비를 추가적으로 구성

사용 OS

  • 윈도우

전송 프로토콜

  • FTP

전송 프로그램

  • 자체 개발한 윈도우 FTP 응용 프로그램
  • (경고)(확인요망) 위성 데이터를 수요기관의 서버에 주기적으로 전송하도록 설계됨

문제점

  • WAN 구간 데이터 전송 성능 저하 (10G 회선을 충분히 활용하지 못함)
  • LAN 구간 성능저하 없음

제약사항

  • OS(윈도우)와 전송 프로토콜(FTP) 변경 불가
    • 기존에 활용중인 레거시 프로그램을 계속 이용해야 함
    • 내부 연구자들의 윈도우 및 FTP 활용 선호

참고

  • WAN 구간에서 업로드 / 다운로드 속도가 다르게 나옴
  • (경고)(확인요망) 모 수요 기관은 7Gbps 급으로 데이터를 전송한 이력이 있음


컨설팅

1) 국가과학기술연구망이 제공한 폐쇄망의 성능에 문제가 없음을 확인함 (2022-08-31 iperf 테스트)

2) 레거시 프로그램을 유지하면서 전송속도 향상을 위해서는 FTP에 대한 심층적인 이해 필요

3) (진행예정) 리눅스에서 FTP, GridFTP, HPN-SSH 최대 성능 측정

4) (진행예정) 윈도우 커널 파라미터 튜닝에 대한 이해 및 실험 필요


개선사항 도출

(경고) 레거시 프로그램 개선사항 도출

  • 분할 다운로드 지원
  • 서버에 데이터를 넣어주는 형식은 지양하고, 클라이언트에서 서버의 데이터를 다운로드 하도록 할 것

(진행예정) 윈도우 네트워크 파라미터 튜닝 및 개선사항 도출

  • 윈도우 서버 제품군의 네트워크 파라미터 튜닝 및 테스트
  • 윈도우 데스트톱 OS의 레지스트리 변경을 통한 네트워크 파라미터 튜닝 및 테스트


테스트 장비

순번호스트명IP스펙비고1비고2
NohostnameIPSpecEtc1Etc2
1

KARI 대전 리눅스

ps-220-daej-kari-linux

xxx.xxx.xxx.173SMCi/5019s/1U/10GKISTI 2020000566
2

KARI 대전 윈도우

ps-220-daej-kari-win

xxx.xxx.xxx.177

KARI DAEJ (SATA disk only)



3

KISTI 대전 리눅스

ps-220-daej-kisti-linux

xxx.xxx.xxx.171SMCi/5019s/1U/10GKISTI 2019001229
4

KISTI 대전 윈도우

ps-220-daej-kisti-win

(경고) 준비중

xxx.xxx.xxx.179DELL/R720/2U/10G

5

KISTI 제주 리눅스

ps-220-jeju-kisti-linux

xxx.xxx.xxx.174SMCi/5019s/1U/10GKISTI 2020000569
6




7

KARI 제주 리눅스

ps-220-jeju-kari-linux

xxx.xxx.xxx.184SMCi/5019s/1U/10GKISTI 2020000577
8

KARI 제주 윈도우

ps-220-jeju-kari-win

xxx.xxx.xxx.178

KARI JEJU (NVMe)





SMCi/5019s/1U/10GDELL/R720/2U/10GKARI DAEJKARI JEJU
CPU

Intel(R) Xeon(R) CPU E3-1220 v6 @ 3.00GHz (4C 4T)


Intel i7 7770 @ 3.4GHz (4C 8T)Intel i7 11700 @ 2.5GHz (8C 16T, turbo 4.9GHz)
MEMDDR3 32GB
8GB32GB
DISK (Slow)Samsung SSD 860 SSD x 2 (SATA, RAID 1)
Samsung 870 EVO 500GB (SATA)

DISK (Fast)22GB RAM disk mounted on /var/www/html/tmpfs

Samsung 980 500GB (NVMe)
NICIntel X520 10G SFP+
Aquantia AQtion 10GIntel X520 10G SFP+
OSperfSONAR 4.4.4 ( based on CentOS 7 )
Windows 10Windows 10
Notes

SATA disk only


테스트 설정

(리눅스) 공통 설정

네트워크 관련 커널 파라미터 설정

/etc/sysctl.conf
####################################
#Default perfSONAR sysctl settings
####################################
net.core.default_qdisc = fq
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.all.arp_filter = 1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.default.arp_filter = 1
net.ipv4.tcp_congestion_control = htcp
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_rmem = 4096 87380 33554432
net.ipv4.tcp_wmem = 4096 65536 33554432

MTU 9000

/etc/sysconfig/network-scripts/ifcfg-enp1s0f0
DEVICE=enp1s0f0
...
MTU=9000

호스트파일 변경

/etc/hosts
...
xxx.xxx.xxx.173  ps-220-daej-kari-linux
xxx.xxx.xxx.177  ps-220-daej-kari-win
xxx.xxx.xxx.171  ps-220-daej-kisti-linux
xxx.xxx.xxx.179  ps-220-daej-kisti-win
xxx.xxx.xxx.174  ps-220-jeju-kisti-linux
xxx.xxx.xxx.184  ps-220-jeju-kari-linux
xxx.xxx.xxx.178  ps-220-jeju-kari-win

HTTP 병렬 다운로드 프로그램 설치 및 설정

yum -y install axel-2.4-9.el7.x86_64.rpm


/etc/axelrc
buffer_size = 51200

기저트래픽이 있는 구간이라서 max rate 를 낮춤

tc qdisc change dev enp1s0f0 root fq maxrate 9.5gbit


(리눅스) Server 설정

ps-220-daej-kari-linux
swapoff -a
mkdir -p /var/www/html/tmpfs
mount -t tmpfs -o size=22G tmpfs /var/www/html/tmpfs
fallocate -l 10G /var/www/html/tmpfs/10G.bin


ps-220-daej-kari-linux
# df -h /var/www/html/tmpfs
Filesystem      Size  Used Avail Use% Mounted on
tmpfs            22G   10G   12G  46% /var/www/html/tmpfs


(리눅스) Client 설정

ps-220-jeju-kari-linux
swapoff -a
mkdir -p /var/www/html/tmpfs
mount -t tmpfs -o size=22G tmpfs /var/www/html/tmpfs


테스트

순번일시테스트
도구옵션성능


NoTime
TestToolOptionPerformance


Test 122-08-31 11:31

KARI 제주 → KARI 대전

KARI Jeju → KARI Daejeoniperf31 stream9.43 Gbps


Test 222-08-31 11:35KARI 대전 → KARI 제주KARI Daejeon → KARI Jejuiperf31 stream9.43 Gbps


Test 322-08-31 11:44

KARI 제주 → KARI 대전

KARI Jeju → KARI DaejeonHTTP (wget)1 stream8.32 Gbps (1.04GB/s)d2d transfer test on ramdisk

Test 422-08-31 11:43KARI 대전 → KARI 제주KARI Daejeon → KARI JejuHTTP (wget)1 stream8.00 Gbps (1.00GB/s)d2d transfer test on ramdisk

Test 522-08-31 11:54

KARI 제주 → KARI 대전

KARI Jeju → KARI DaejeonHTTP (axel)3 stream8.14 Gbps (1067184.37 KB/s)d2d transfer test on ramdisk

Test 622-08-31 11:51KARI 대전 → KARI 제주KARI Daejeon → KARI JejuHTTP (axel)3 stream8.93 Gbps (1170187.75 KB/s)d2d transfer test on ramdisk


Test 1
{22-08-31 11:31}ps-220-jeju-kari-linux:~ # iperf3 -c ps-220-daej-kari-linux -i1 -t30 -O5 -P1
Connecting to host ps-220-daej-kari-linux, port 5201
[  5] local xxx.xxx.xxx.184 port 40094 connected to xxx.xxx.xxx.173 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.06 GBytes  9.13 Gbits/sec    2   15.6 MBytes       (omitted)
[  5]   1.00-2.00   sec  1.10 GBytes  9.43 Gbits/sec    3   15.6 MBytes       (omitted)
[  5]   2.00-3.00   sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes       (omitted)
[  5]   3.00-4.00   sec  1.10 GBytes  9.44 Gbits/sec    0   15.6 MBytes       (omitted)
[  5]   4.00-5.00   sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes       (omitted)
[  5]   0.00-1.00   sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]   1.00-2.00   sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]   2.00-3.00   sec  1.10 GBytes  9.44 Gbits/sec    0   15.6 MBytes
[  5]   3.00-4.00   sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]   4.00-5.00   sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]   5.00-6.00   sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]   6.00-7.00   sec  1.10 GBytes  9.44 Gbits/sec    0   15.6 MBytes
[  5]   7.00-8.00   sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]   8.00-9.00   sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]   9.00-10.00  sec  1.10 GBytes  9.44 Gbits/sec    0   15.6 MBytes
[  5]  10.00-11.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  11.00-12.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  12.00-13.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  13.00-14.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  14.00-15.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  15.00-16.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  16.00-17.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  17.00-18.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  18.00-19.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  19.00-20.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  20.00-21.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  21.00-22.00  sec  1.10 GBytes  9.44 Gbits/sec    0   15.6 MBytes
[  5]  22.00-23.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  23.00-24.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  24.00-25.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  25.00-26.00  sec  1.10 GBytes  9.44 Gbits/sec    0   15.6 MBytes
[  5]  26.00-27.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  27.00-28.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  28.00-29.00  sec  1.10 GBytes  9.43 Gbits/sec    0   15.6 MBytes
[  5]  29.00-30.00  sec  1.10 GBytes  9.44 Gbits/sec    0   15.6 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-30.00  sec  32.9 GBytes  9.43 Gbits/sec    0             sender
[  5]   0.00-30.01  sec  32.9 GBytes  9.43 Gbits/sec                  receiver

iperf Done.
Test 2
{22-08-31 11:35}ps-220-jeju-kari-linux:~ root# iperf3 -c ps-220-daej-kari-linux -i1 -t30 -O5 -P1 -R
Connecting to host ps-220-daej-kari-linux, port 5201
Reverse mode, remote host ps-220-daej-kari-linux is sending
[  5] local xxx.xxx.xxx.184 port 40100 connected to xxx.xxx.xxx.173 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  1.05 GBytes  9.00 Gbits/sec                  (omitted)
[  5]   1.00-2.00   sec  1.10 GBytes  9.43 Gbits/sec                  (omitted)
[  5]   2.00-3.00   sec  1.10 GBytes  9.43 Gbits/sec                  (omitted)
[  5]   3.00-4.00   sec  1.10 GBytes  9.43 Gbits/sec                  (omitted)
[  5]   4.00-5.00   sec  1.10 GBytes  9.43 Gbits/sec                  (omitted)
[  5]   0.00-1.00   sec  1.10 GBytes  9.43 Gbits/sec
[  5]   1.00-2.00   sec  1.10 GBytes  9.43 Gbits/sec
[  5]   2.00-3.00   sec  1.10 GBytes  9.43 Gbits/sec
[  5]   3.00-4.00   sec  1.10 GBytes  9.43 Gbits/sec
[  5]   4.00-5.00   sec  1.10 GBytes  9.43 Gbits/sec
[  5]   5.00-6.00   sec  1.10 GBytes  9.43 Gbits/sec
[  5]   6.00-7.00   sec  1.10 GBytes  9.43 Gbits/sec
[  5]   7.00-8.00   sec  1.10 GBytes  9.43 Gbits/sec
[  5]   8.00-9.00   sec  1.10 GBytes  9.43 Gbits/sec
[  5]   9.00-10.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  10.00-11.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  11.00-12.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  12.00-13.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  13.00-14.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  14.00-15.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  15.00-16.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  16.00-17.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  17.00-18.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  18.00-19.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  19.00-20.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  20.00-21.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  21.00-22.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  22.00-23.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  23.00-24.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  24.00-25.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  25.00-26.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  26.00-27.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  27.00-28.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  28.00-29.00  sec  1.10 GBytes  9.43 Gbits/sec
[  5]  29.00-30.00  sec  1.10 GBytes  9.43 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-30.01  sec  32.9 GBytes  9.43 Gbits/sec    0             sender
[  5]   0.00-30.00  sec  32.9 GBytes  9.43 Gbits/sec                  receiver

iperf Done.
Test 3
{22-08-31 11:44}ps-220-daej-kari-linux:/var/www/html/tmpfs root# wget http://ps-220-jeju-kari-linux/tmpfs/10G.bin
--2022-08-31 11:44:53--  http://ps-220-jeju-kari-linux/tmpfs/10G.bin
Resolving ps-220-jeju-kari-linux (ps-220-jeju-kari-linux)... 220.110.210.184
Connecting to ps-220-jeju-kari-linux (ps-220-jeju-kari-linux)|220.110.210.184|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10737418240 (10G) [application/octet-stream]
Saving to: ‘10G.bin.1’

100%[========================================================================>] 10,737,418,240 1.01GB/s   in 10s

2022-08-31 11:45:03 (1.00 GB/s) - ‘10G.bin.1’ saved [10737418240/10737418240]
Test 4
{22-08-31 11:43}ps-220-jeju-kari-linux:/var/www/html/tmpfs root# wget http://ps-220-daej-kari-linux/tmpfs/10G.bin
--2022-08-31 11:43:13--  http://ps-220-daej-kari-linux/tmpfs/10G.bin
Resolving ps-220-daej-kari-linux (ps-220-daej-kari-linux)... xxx.xxx.xxx.173
Connecting to ps-220-daej-kari-linux (ps-220-daej-kari-linux)|xxx.xxx.xxx.173|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10737418240 (10G) [application/octet-stream]
Saving to: ‘10G.bin’

100%[========================================================================>] 10,737,418,240 1.02GB/s   in 9.6s

2022-08-31 11:43:23 (1.04 GB/s) - ‘10G.bin’ saved [10737418240/10737418240]
Test 5
{22-08-31 11:54}ps-220-daej-kari-linux:/var/www/html/tmpfs root# axel -n 3 http://ps-220-jeju-kari-linux/tmpfs/10G.bin
...
[100%]  .......... .......... .......... .......... ..........  [1067197.8KB/s]
[100%]  ..........
Downloaded 10240.0 megabytes in 9 seconds. (1067184.37 KB/s)
Test 6
{22-08-31 11:51}ps-220-jeju-kari-linux:/var/www/html/tmpfs root# axel -n 3 http://ps-220-daej-kari-linux/tmpfs/10G.bin
...
[100%]  .......... .......... .......... .......... ..........  [1170189.6KB/s]
[100%]  ..........

Downloaded 10240.0 megabytes in 8 seconds. (1170187.75 KB/s)