4.3. Receive Flow Steering으로 네트워킹 성능 향상
RFS( Flow Steering)는 네트워크 대기 시간을 추가로 줄여RP(Receive Packet Steering)를 확장합니다. RFS는 기술적으로 RPS를 기반으로 하며 CPU 캐시 적중률을 증가시켜 패킷 처리의 효율성을 향상시킵니다. RFS는 이를 달성하고 또한 계산에 가장 편리한 CPU를 확인하여 CPU 내에서 캐시 적중을 더 많이 발생시킬 수 있도록 큐 길이를 고려합니다. 따라서 CPU 캐시가 무효화되고 캐시를 다시 빌드하는 데 더 적은 사이클이 필요합니다. 이렇게 하면 패킷 처리 실행 시간을 줄일 수 있습니다.
4.3.1. MCO(Machine Config Operator)를 사용하여 RFS 활성화
프로세스
다음 MCO 샘플 프로필을 YAML 파일에 복사합니다. 예를 들어
enable-rfs.yaml
은 다음과 같습니다.apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: 50-enable-rfs spec: config: ignition: version: 2.2.0 storage: files: - contents: source: data:text/plain;charset=US-ASCII,%23%20turn%20on%20Receive%20Flow%20Steering%20%28RFS%29%20for%20all%20network%20interfaces%0ASUBSYSTEM%3D%3D%22net%22%2C%20ACTION%3D%3D%22add%22%2C%20RUN%7Bprogram%7D%2B%3D%22/bin/bash%20-c%20%27for%20x%20in%20/sys/%24DEVPATH/queues/rx-%2A%3B%20do%20echo%208192%20%3E%20%24x/rps_flow_cnt%3B%20%20done%27%22%0A filesystem: root mode: 0644 path: /etc/udev/rules.d/70-persistent-net.rules - contents: source: data:text/plain;charset=US-ASCII,%23%20define%20sock%20flow%20enbtried%20for%20%20Receive%20Flow%20Steering%20%28RFS%29%0Anet.core.rps_sock_flow_entries%3D8192%0A filesystem: root mode: 0644 path: /etc/sysctl.d/95-enable-rps.conf
MCO 프로필을 생성합니다.
$ oc create -f enable-rfs.yaml
50-enable-rfs
항목이 나열되어 있는지 확인합니다.$ oc get mc
비활성화하려면 다음을 입력합니다.
$ oc delete mc 50-enable-rfs