목차/08. CoreXL — Affinity와 성능 튜닝

08CoreXL — Affinity와 성능 튜닝CoreXL — Affinity와 성능 튜닝

CoreXL의 구조를 잡았으니, 이제 어느 작업을 어느 CPU 코어에 묶을지(Affinity)와 성능을 끌어올리는 튜닝 을 정리합니다.

Affinity — 코어에 묶기

Affinity(친화성)인터페이스·프로세스를 특정 CPU 코어에 고정 하는 설정입니다. SND가 도는 코어와 FW 인스턴스가 도는 코어를 나눠 , 트래픽 수신·분배와 검사가 서로 다른 코어에서 효율적으로 돌게 합니다.

설정은 $FWDIR/conf/fwaffinity.conf 파일 로 합니다. 부팅 때 $FWDIR/scripts/fwaffinity_apply 스크립트가 이 파일대로 affinity를 적용 하며, 값을 바꾸면 재부팅하거나 그 스크립트를 수동 실행 해야 적용됩니다. 인터페이스 affinity는 SecureXL이 켜져 있으면 자동(automatic)이 기본이고, 필요하면 수동으로 특정 코어에 묶습니다. 명령으로는 fw ctl affinity 로 현재 affinity를 보고 설정 합니다.

성능 튜닝

Performance Tuning 절은 CoreXL을 환경에 맞게 최적화 하는 방법을 다룹니다. 핵심은 SND 코어와 FW 인스턴스 코어의 균형 입니다 — 트래픽 수신이 병목이면 SND 코어를, 검사가 병목이면 FW 인스턴스를 늘리는 식으로 CPView로 본 병목에 맞춰 배분합니다.

R82에는 Dynamic Balancing of CoreXL Instances 가 있어, 부하에 따라 SND·FW 인스턴스 코어 배분을 자동으로 조정 할 수 있습니다 — 사람이 일일이 맞추지 않아도 부하 변화에 맞춰 코어가 재배분됩니다.

명령

CoreXL의 핵심 명령은 fw ctl multik(인스턴스 상태·통계), fw ctl affinity(affinity 보기·설정), cpconfig(인스턴스 수 변경) 입니다(CoreXL 개념). 전체 명령·옵션은 원문 CoreXL Commands 절과 R82 CLI Reference Guide를 참고하세요.

정리하면, Affinity로 SND·FW 인스턴스를 코어에 적절히 나누고, Dynamic Balancing이나 수동 튜닝으로 병목에 맞춰 코어를 배분 하는 것이 CoreXL 성능 튜닝의 핵심입니다.