2.5. 커널 파라미터 튜닝
리눅스 배포판의 네트워크 커널 파라미터는 대다수를 차지하는 일반 사용자에게 맞춰져 있습니다.
망 상황이 좋은 네트워크를 사용하는 경우, 커널 파라미터를 최적화 하면 네트워크 전송성능을 높일 수 있습니다.
configure_sysctl
perfSONAR에는 네트워크 성능 파라미터 조정을 위한 스크립트가 포함되어 있습니다. 다음과 같이 실행하여 생성하고 적용합니다.
$ sudo /usr/lib/perfsonar/scripts/configure_sysctl $ sudo sysctl -p /etc/sysctl.d/perfsonar-toolkit-sysctl.conf
코드는 다음과 같습니다
https://github.com/perfsonar/toolkit/blob/master/toolkit/perfsonar-toolkit/scripts/configure_sysctl
- 10Gbps ~ 40Gbps
- 40Gbps 이상
설정된 파라미터는 /etc/sysctl.d/perfsonar-toolkit-sysctl.conf 파일에서 확인할 수 있습니다.
/etc/sysctl.d/perfsonar-toolkit-sysctl.conf
# allow TCP with buffers up to 2GB (Max allowed in Linux is 2GB-1) net.core.rmem_max = 2147483647 net.core.wmem_max = 2147483647 # increase TCP autotuning buffer limits. net.ipv4.tcp_rmem = 4096 131072 1073741824 net.ipv4.tcp_wmem = 4096 16384 1073741824 # recommended for hosts with jumbo frames enabled net.ipv4.tcp_mtu_probing = 1 # recommended to enable 'fair queueing' net.core.default_qdisc = fq # need to increase this to use MSG_ZEROCOPY net.core.optmem_max = 1048576 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_no_metrics_save = 1