1.4. 전송 오류 수를 줄이기 위해 NIC의 전송 큐 길이 증가
커널은 패킷을 전송하기 전에 전송 큐에 저장합니다. 기본 큐 길이(1000 패킷)는 10Gbps 네트워크에 충분합니다. 그러나 더 빠른 네트워크에서 또는 어댑터에서 전송 오류 수가 증가함에 따라 큐 길이를 늘립니다.
프로세스
현재 전송 큐 길이를 표시합니다.
# ip -s link show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 ...이 예에서
enp1s0인터페이스의 전송 큐 길이는1000입니다.네트워크 인터페이스의 소프트웨어 전송 대기열의 삭제된 패킷 카운터를 모니터링합니다.
# tc -s qdisc show dev enp1s0 qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 Sent 16889923 bytes 426862765 pkt (dropped 191980, overlimits 0 requeues 2) ...높은 전송 오류 수가 발생하거나 증가하는 경우 더 높은 전송 대기열 길이를 설정합니다.
이 인터페이스를 사용하는 NetworkManager 연결 프로필을 확인합니다.
# nmcli connection show NAME UUID TYPE DEVICE Example-Connection a5eb6490-cc20-3668-81f8-0314a27f3f75 ethernet enp1s0연결 프로필을 업데이트하고 전송 큐 길이를 늘립니다.
# nmcli connection modify Example-Connection link.tx-queue-length 2000현재 값의 큐 길이를 double로 설정합니다.
변경 사항을 적용합니다.
# nmcli connection up Example-Connection
검증
전송 큐 길이를 표시합니다.
# ip -s link show enp1s0 2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 2000 ...삭제된 패킷 카운터를 모니터링합니다.
# tc -s qdisc show dev enp1s0드롭된 카운터가계속 증가하면 전송 큐 길이를 다시 두 배로 늘립니다. 카운터가 더 이상 증가하지 않을 때까지 이 프로세스를 반복합니다.