Symptom
성능테스트 부하를 실행 했을 시 1번 노드의 SQL 트래픽이 정상 유입량의 절반 수준으로만 처리됨.
동일한 트래픽을 2번 노드에서만 실행했을 시에는 정상 수준으로 처리됨.
네트웍 트래픽도 양쪽 노드를 비교 했을 시 1번 노드가 현저히 낮은 상태.
양쪽 노드의 AWR 리포트 비교했을 시 1번 노드에서만 네트워크 관련 대기 이벤트가 높게 나타남.
1번 노드에 뭔가 문제가 있는 것으로 판단.
![]() |
AWR Report |
Cause
1번 노드의 네트웍카드 설정이 100Mb/s 로 되어 있음. (2번 노드는 1000 Mb/s)
100Mb/s 로 잡힌 이유는 public switch 와 통신 시 auto negotiation 과정에서 네트웍 속도를 결정하는데 몇번의 서버 리붓 과정에서 100Mb/s 로 잡힌 것이었다.
네트웍 카드와 스위치가 모두 1000Mb/s를 지원하면 보통은 1000Mb/s 로 된다고 하는데 100Mb/s 로 잡힌 명확한 이유는 알 수 없다. (네트웍인프라에서는 간혹 있는 일이라 함)
[EXA]root@dbnode1:/root# ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Ye s
Advertised link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Du plex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: external
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
[EXA]root@dbnode1:/root#
[EXA]root@dbnode1:/root# ethtool eth2
Settings for eth2:
Supported ports: [ TP ]
Supported link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: external
Auto -negotiation: on
MDI-X: Unknown
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Solution
ethtool 명령어로 1000Mb/s 로 적용하고 성능테스트 진행하였고 정상 QPS 트래픽 유입 확인.
eth1, eth2 는 본딩으로 이중화 구성되어 있으므로 둘다 적용.
[EXA]root@dbnode1:/root# ethtool -s eth1 speed 1000 duplex full autoneg on
[EXA]root@dbnode1:/root# ethtool -s eth2 speed 1000 duplex full autoneg on
[EXA]root@dbnode1:/root#
... 약 1분뒤 적용됨...
[EXA]root@dbnode1:/root# ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: external
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
[EXA]root@dbnode1:/root#
[EXA]root@dbnode1:/root# ethtool eth2
Settings for eth2:
Supported ports: [ TP ]
Supported link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: external
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
이런 위험을 방지하기 위해 자동이 아닌 강제(autoneg off) 로 1000Mb/s를 지정하려고 했으나 Exadata DB서버상에는 강제할 수 없었다.
[EXA]root@dbnode1:/root# ethtool -s eth2 speed 1000 duplex full autoneg off
Cannot set new settings: Invalid argument
not setting speed
not setting duplex
not setting autoneg
Oracle Linux 6: Network Limitation of a 1GB Card over Auto Negotiation (Doc ID 1904433.1)
"According to IEEE 802.3-2002 specification, you can not disable auto negotiation when using a 1000baseT NIC"
만약의 경우를 대비해서 스위치에만 autoneg off 로 강제지정하였고 리붓시에도 제대로 적용되도록 DB서버 모두 아래와 같이 ETHTOOL_OPTS 설정을 추가 함.
[EXA]root@dbnode1:/root# cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep ETHTOOL_OPTS
ETHTOOL_OPTS="speed 1000 duplex full autoneg on"
[EXA]root@dbnode1:/root# cat /etc/sysconfig/network-scripts/ifcfg-eth2 | grep ETHTOOL_OPTS
ETHTOOL_OPTS="speed 1000 duplex full autoneg on"
[EXA]root@dbnode2:/root# cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep ETHTOOL_OPTS
ETHTOOL_OPTS="speed 1000 duplex full autoneg on"
[EXA]root@dbnode2:/root# cat /etc/sysconfig/network-scripts/ifcfg-eth2 | grep ETHTOOL_OPTS
ETHTOOL_OPTS="speed 1000 duplex full autoneg on"
Conclusion
Exadata 와 상관 없이 외부스위치 설정으로 인해 네트웍 속도가 결정될 수 있다.
Exadata는 고가이고 훌륭한 DB 어플라이언스 제품이지만 성능테스트로 꼼꼼하게 확인할 필요가 있다.
SQL 처리량이 Product 에서 캡쳐한 시점과 차이가 많이 나면 꼼꼼하게 확인하여 원인 분석 하자.
댓글 2개:
10 Best sunscreen with zinc oxide and titanium dioxide
It's not just fallout 76 black titanium your best shave, it's also titanium quartz your titanium belt buckle first 2020 ford ecosport titanium treatment,” says Pauline. She was titanium flash mica working on a new formulation of the
gm340 nobull schweiz,nobull deutschland,nobull danmark,nobull skor,nobull norge,nobull argentina,nobulltrainers,nobullsalecanada,nobullaustralia wu799
댓글 쓰기