검색

11.4. RX-TX 대기열 크기를 관리하여 패킷 손실 방지

download PDF

다음과 같은 여러 가지 이유로 초당 3.5 만 개 이상의 패킷 손실 (mpps)에서 패킷 손실이 발생할 수 있습니다.

  • 네트워크 인터럽트
  • a SMI
  • 가상 네트워크 기능의 패킷 처리 대기 시간

패킷 손실을 방지하려면 큐 크기를 기본값 512에서 최대 1024로 늘립니다.

사전 요구 사항

  • 언더클라우드 호스트 및 stack 사용자의 인증 정보에 액세스합니다.

절차

  1. 언더클라우드 호스트에 stack 사용자로 로그인합니다.
  2. stackrc 언더클라우드 인증 정보 파일을 소싱합니다.

    $ source ~/stackrc
  3. 사용자 지정 환경 YAML 파일을 생성하고 parameter_defaults 아래에 다음 정의를 추가하여 RX 및 TX 큐 크기를 늘립니다.

    parameter_defaults:
      NovaLibvirtRxQueueSize: 1024
      NovaLibvirtTxQueueSize: 1024
  4. 배포 명령을 실행하고 코어 heat 템플릿, 기타 환경 파일, RX 및 TX 큐 크기 변경 사항이 포함된 환경 파일을 포함합니다.

    예제

    $ openstack overcloud deploy --templates \
    -e <other_environment_files> \
    -e /home/stack/my_tx-rx_queue_sizes.yaml

검증

  1. nova.conf 파일에서 RX 큐 크기 및 TX 대기열 크기의 값을 관찰합니다.

    $ egrep "^[rt]x_queue_size" /var/lib/config-data/puppet-generated/\
    nova_libvirt/etc/nova/nova.conf

    다음이 표시되어야 합니다.

    rx_queue_size=1024
    tx_queue_size=1024
  2. Compute 호스트의 libvirt에서 생성된 VM 인스턴스 XML 파일에서 RX 큐 크기 및 TX 큐 크기의 값을 확인합니다.

    1. 새 인스턴스를 만듭니다.
    2. 컴퓨팅 호스트 및 인스턴스 이름을 가져옵니다.

      $ openstack server show testvm-queue-sizes -c OS-EXT-SRV-ATTR:\
      hypervisor_hostname -c OS-EXT-SRV-ATTR:instance_name

      샘플 출력

      출력은 다음과 유사합니다.

      +-------------------------------------+------------------------------------+
      | Field                               | Value                              |
      +-------------------------------------+------------------------------------+
      | OS-EXT-SRV-ATTR:hypervisor_hostname | overcloud-novacompute-1.sales      |
      | OS-EXT-SRV-ATTR:instance_name       | instance-00000059                  |
      +-------------------------------------+------------------------------------+
    3. Compute 호스트에 로그인하고 인스턴스 정의를 덤프합니다.

      예제

      $ podman exec nova_libvirt virsh dumpxml instance-00000059

      샘플 출력

      출력은 다음과 유사합니다.

      ...
         <interface type='vhostuser'>
           <mac address='56:48:4f:4d:5e:6f'/>
           <source type='unix' path='/tmp/vhost-user1' mode='server'/>
           <model type='virtio'/>
           <driver name='vhost' rx_queue_size='1024'   tx_queue_size='1024' />
           <address type='pci' domain='0x0000' bus='0x00' slot='0x10' function='0x0'/>
         </interface>
      ...
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.