프린트 하기

OS환경 : Oracle Linux 7.8 (64bit)

 

DB 환경 : Oracle Database 19.11.0.0 RAC

 

방법 : Oracle Linux 7 Jumbo Frames(점보 프레임) MTU

오라클 RAC 설치 시 Private interconnect 의 MTU 값 9000이 권장값임

이 값을 사용하기 위해선 Jumbo Frames 를 이용해야함 

MTU 와 Jumbo Frames 이 무엇인지, MTU 값 9000 설정시 어떤 이점이 있는지 확인해봄

 

 

MTU(Maximum Transmission Unit)란?

Network Interface 나 Network Switch에서 Protocol layer를 통해 전달할 수 있는 최대 데이터 사이즈 단위를 이야기함 디폴트 MTU 값은 1500 byte 임
Ethernet frame의 크기는 1518 byte 이며 Ethernet header를 위한 14 byte와 Ethernet CRC를 위한 4 byte를 제외하면 protocol(TCP, UDP등)에서 1500 byte를 데이터 전송에 사용할 수 있음
IPv4의 경우 TCP 프로토콜은 1460 byte를 UDP 프로토콜의 경우 1476 byte를 데이터 전송용으로 사용할 수 있음
IPv6의 경우 TCP 프로토콜은 1440 byte를 UDP 프로토콜의 경우 1456 byte를 데이터 전송용으로 사용할 수 있음(IPv4 보다 20 byte가 작게됨)
오라클 RAC의 Private Network는 IPv6를 지원하지 않음, 그리고 RAC의 경우 Private Network를 구성시 router나 switch를 통해 구성하므로 router나 switch 역시 Jumbo Frame을 지원해야 함

 

 

MTU 값이 1500일경우

데이터 블럭 8K를 다른 노드로 전송할 경우 8K 를 1500 byte로 나누게 되면 6개의 패킷으로 나누어 짐

즉 전송할 노드에서 8K 데이터 블럭을 6개의 패킷으로 쪼개서 타켓 노드로 전송하게 되면 받은 노드에서는 6개의 패킷을 재조립하여 8K 데이터 블럭을 만들고 이를 어플리케이션에 전달하게 됨
과다한 분해와 조립의 과정은 커널이 CPU를 과다하게 사용하게끔 함

 

Jumbo Frame란?

MTU 값이 1500 이상인 경우를 Jumbo Frame라고 함. 표준은 없지만 대개의 경우 9000 byte로 설정하여 쓰고 있음
Ethernet Frame는 9,018 byte 임. 위에서 언급한 Ethernet Header와 Ethernet CRC를 포함한 Frame이 됨
데이터 사이즈가 9,000이 될 경우 데이터 블럭 8K를 전송할 때 6패킷으로 분해할 필요가 없게됨. 하나의 패킷으로 8K 데이터 블럭을 전송할 수 있기 때문

 

 

Jumbo Frame 사용시 참고 사항

Jumbo Frame의 경우 대개 오라클 RAC의 Private Network 용으로 설정함
RAC의 경우 Private Network를 Jumbo Frame로 설정할 경우 모든 노드를 동일하게 설정해야 하며 스위가 Jumbo Frame을 지원하는지 반드시 확인해야함
만약 데이터 블럭의 크기를 16K 사이즈로 쓰고 있다면 9,000 byte 보다 큰 MTU를 설정하기 보다는 2개의 패킷으로 분해, 조립하는 것이 가능함.

9,000 byte 보다 더 큰 MTU를 사용하려고 해도 대다수의 스위치와 커널이 이를 지원하지 않는 경우가 많음

 

 

MTU 1500과 9000 시 성능 테스트

https://blogs.oracle.com/exadata/jumbo-frames-for-rac-interconnect-v2

 

 

UDP 트레픽 테스트1

 

 

CPU 부하 평균

 

 

테스트 결론

1. 스트레스가 없는(부하가 심하지 않은) 시스템에서는 Jumbo Frames 을 사용하는 이점을 거의 못느낌
2. 스트레스를 받는(부하가 심한) 시스템에서는 Jumbo Frames 의 이점을 느낄수 있으며 이러한 시스템에선 CPU가 덜 사용되고 네트워크 오버 헤드가 줄어듬
즉, 점보 프레임은 일반 프레임보다 더 나은 확장성을 제공함

*물론 응용 프로그램의 interconnect 사용에 따라 결과가 달라질 수 있음 interconnect 트래픽 집약적 인 애플리케이션을 사용하면 상대적으로 interconnect 활동이 적은 애플리케이션의 이점을 더 일찍 확인할 수 있음
점보 프레임을 사용하면 CPU를 절약하고 네트워크 트래픽을 줄일 수 있으므로 확장성이 향상됨

 

 

참조 : http://www.koreaoug.org/network/6883

http://www.dba-oracle.com/t_rac_tuning_jumbo_frames.htm

https://blogs.oracle.com/exadata/jumbo-frames-for-rac-interconnect-v2

https://ko.wikipedia.org/wiki/%EC%A0%90%EB%B3%B4_%ED%94%84%EB%A0%88%EC%9E%84

341788.1