2026. 4. 21. 09:42ㆍ카테고리 없음
추가적인 성능 향상을 위해 옵션을 유연하게 조정하실 계획이라면, **네트워크 레이턴시**와 **병렬 처리** 최적화 측면에서 몇 가지 더 고려해 볼 만한 포인트들이 있습니다.
가이드에 "성능 최적화 튜닝 포인트"로 추가하면 좋은 내용들을 정리해 드립니다.
## 1. 마운트 옵션 추가 최적화 제안
현재 설정하신 옵션 외에 성능에 큰 영향을 줄 수 있는 요소들입니다.
* **noatime (권장):** 파일에 접근할 때마다 "최근 접근 시간"을 업데이트하지 않도록 설정합니다. 쓰기 작업 부하를 줄여줍니다.
* **nodiratime:** 디렉토리 접근 시간 업데이트를 비활성화합니다.
* **actimeo=600:** 파일 속성(Attribute) 캐시 유지 시간을 늘려 서버와의 통신 횟수를 줄입니다. (변경이 잦지 않은 데이터라면 유용합니다.)
* **async vs sync:** 성능이 최우선이라면 async가 유리하지만, HDFS NFS 게이트웨이 특성상 데이터 안정성을 고려해 기본값(보통 서버 설정에 따름)을 유지하는 경우가 많습니다.
### 수정된 권장 마운트 명령어
```bash
mount -t nfs -o rw,vers=3,tcp,hard,intr,noatime,nodiratime,rsize=1048576,wsize=1048576,nconnect=8,timeo=600,retrans=2 hdfs.sddc.test.com:/dir /mountdir
```
> **Tip:** retrans를 5에서 2 정도로 낮추면 네트워크 장애 시 더 빠르게 반응할 수 있습니다. (고속 로컬 네트워크 기준)
>
## 2. Linux 커널 파라미터 튜닝 (OS 레벨)
마운트 옵션만으로는 부족할 수 있습니다. 특히 **1GB 이상의 고대역폭**을 사용한다면 TCP 버퍼 크기를 키워야 nconnect와 rsize/wsize의 효과를 제대로 볼 수 있습니다.
테스트 전 노드에서 아래 설정을 적용해 보세요:
```bash
# TCP 윈도우 사이즈 및 버퍼 최적화
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem='4096 87380 16777216'
sysctl -w net.ipv4.tcp_wmem='4096 65536 16777216'
sysctl -w net.core.netdev_max_backlog=5000
```
## 3. Pod 성능 측정 시 주의사항 (MTU 설정)
Kubernetes 환경(Pod)에서 성능이 노드보다 눈에 띄게 낮게 나온다면 **MTU(Maximum Transmission Unit)** 불일치 문제일 가능성이 높습니다.
* **Jumbo Frame:** 네트워크 스위치와 노드 인터페이스가 지원한다면 MTU를 **9000**으로 설정하는 것이 NFS 성능 향상에 가장 효과적입니다.
* **CNI 확인:** Pod 내부 네트워크 인터페이스의 MTU가 노드의 실제 인터페이스와 동일한지 확인하세요.
## 4. 가이드용 비교 테스트 체크리스트
성능 보고서 작성을 위해 아래 세 가지 변수를 조합하여 측정하는 것을 추천합니다.
| 테스트 케이스 | 설정 핵심 | 기대 효과 |
|---|---|---|
| **Case 1 (기본)** | nconnect=1, rsize/wsize=64k | 표준 성능 확인 |
| **Case 2 (대역폭 최적화)** | nconnect=8, rsize/wsize=1M | Throughput 최대화 (HDFS 적합) |
| **Case 3 (커널 튜닝 포함)** | Case 2 + sysctl 튜닝 + noatime | 시스템 전체 잠재력 확인 |
**한 가지 팁:** rsize와 wsize를 무조건 1MB로 고정하기보다, 실제 환경에서 256k, 512k, 1M를 각각 테스트해 보세요. 서버(HDFS NFS Gateway)의 메모리 상황에 따라 512k가 더 안정적인 성능을 낼 때도 있습니다.
이 정도 내용을 포함하신다면 단순 마운트 가이드를 넘어선 **전문적인 성능 최적화 가이드**가 될 것 같습니다. 진행하시면서 특정 구간에서 병목이 생기면 말씀해 주세요!