고성능 경로를 사용하는 경우 일반적으로 응용 프로그램을 방해 할 수있는 다른 (예약 된) 프로세스를 가능한 한 적게 실행하려고합니다.
Linux는 고전적인 UNIX 운영 체제와 마찬가지로 공정한 방식으로 여러 응용 프로그램을 동시에 실행하도록 설계되었으며 리소스 기아를 방지하려고 시도하며 응용 프로그램을 제외한 그 밖의 모든 것을 굶주리게됩니다. OS 수준의 간단한 단계는 응용 프로그램 의 멋진 수준과 실시간 우선 순위를 변경 하거나 , 스케줄러를 변경 하거나 실시간 커널로 이동하는 것입니다 .
TCP / IP는 일반적으로 연결 끊김을 방지하고 사용 가능한 대역폭을 효율적으로 사용하도록 조정됩니다. 일부 중간 링크가보다 제한적인 연결에서 가능한 최대 대역폭을 얻는 것이 아니라 매우 빠른 링크에서 가능한 가장 낮은 대기 시간을 얻으려면 네트워크 스택의 조정을 조정합니다.
sysctl -a
조정할 수있는 커널 설정이 표시됩니다. 설정은 IPv4를 사용하는지 또는 IPv6을 사용하는지 여부와 응용 프로그램에서 이미 정확히 수행하지만 관심있는 대상에 따라 다릅니다.
net.ipv4.tcp_window_scaling=1
RFC 1323-64K보다 큰 IPV4 TCP 창 크기 지원-일반적으로 고 대역폭 네트워크에 필요
net.ipv4.tcp_reordering=3
패킷 손실을 가정하고 느린 시작으로 가정하지 않고 TCP 패킷 스트림에서 IPV4 패킷을 다시 정렬 할 수있는 최대 횟수입니다.
net.ipv4.tcp_low_latency=1
높은 처리량보다 낮은 대기 시간을 선호하도록 의도되었습니다. = 1로 설정하면 IPV4 TCP 사전 대기열 처리가 비활성화됩니다.
net.ipv4.tcp_sack=0
1로 설정하면 IPV4에 대한 선택적 승인이 활성화되어 tcp_timestamps를 활성화해야하고 패킷 손실이 발생하지 않아도 필요하지 않은 일부 패킷 오버 헤드가 추가됩니다.
net.ipv4.tcp_timestamps=0
자루가 필요한 경우에만 권장됩니다.
net.ipv4.tcp_fastopen=1
시작 SYN 패킷에서 데이터를 보낼 수 있습니다.
전부는 아니지만 대부분은 커널 소스에 더 잘 설명되어 있습니다.
물론 원시 TCP 소켓을 코딩하고 커널 TCP / IP 스택을 모두 우회 할 수 있습니다.
고도로 튜닝 된 시스템은 신뢰할 수있는 네트워크에서 실행되며 로컬 (iptables) 방화벽이 비활성화됩니다.