퍼포먼스

1인미디어 시대, 게임방송, 나도 해볼까? part.4 : 비교와 결론

2018. 12. 16. 21:53

결론 및 종합

앞서 소개한 녹화 방식에 따라 차이를 비교해보기로 한다.

레인보우식스 시즈의 벤치마킹 기능을 이용했다. 그래픽 옵션은 프리셋 최상에, 텍스처는 Very High, 안티앨리어싱과 텍스처 필터링은 끈 상태로 진행했다. 인코딩은 6000kbps로 설정했다.

GPU는 소수연산에 효율적이기 때문에 그걸 강조하기 위해 전력소비도 비교해봤다. 전력소비는 소프트웨어 기반이기 때문에 정확하지 않을 수 있다.

게임 플레이

Time CPU [%] GPU [%] FPS [FPS] CPU Package Power [W] GPU Chip Power [W] Power Combined
max 61.3 100 157 62.268 149.082 206.956
min 20 87 90 46.378 123.465 174.619
avg 44.3 99.8421052631579 120.031578947368 54.7037263157894 135.544189473684 190.247915789474

CPU사용량은 최대 61%, 평균 44%이다.

FPS는 최대 157FPS, 최소 90FPS이고, 평균은 120FPS이다. 편차는 60FPS.

CPU와 GPU의 최대 전력소비량은 207W이다.

게임 플레이 + CPU 인코딩

Time CPU [%] GPU [%] FPS [FPS] CPU Package Power [W] GPU Chip Power [W] Power Combined
max 79.5 100 144 82.233 145.098 225.527
min 32.6 88 88 64.547 127.582 198.656
avg 60.3 98.7894736842105 112.252631578947 73.780 134.084557894737 207.864284210526

CPU사용량은 최대 80%, 평균 60%이다. 인코딩을 하지 않을 때에 비해 평균값은 16%차이, 최대는 19%가까이 차이난다.

FPS는 최대 144FPS, 최소 88FPS, 평균 112FPS이다. 녹화하지 않을 때보다 8FPS정도 떨어진다. 편차는 56FPS.

최대 전력소비는 225W이다. 18W차이이고, 10%가 늘어난 것이다.

게임 플레이 + GPU 인코딩

Time CPU [%] GPU [%] FPS [FPS] CPU Package Power [W] GPU Chip Power [W] Power Combined
max 88 100 141 66.048 143.406 200.306
min 18.7 87 88 50.234 128.52 182.815
avg 49.3631578947369 99.2210526315789 111.536842105263 56.3260315789474 135.858810526316 192.184842105263

CPU사용량은 최대 88%, 평균 49%이다.

FPS는 최대 141FPS, 최소 88FPS, 평균 111FPS이다. 프레임은 CPU인코딩에 비해 낮다. 편차는 53FPS.

최대 전력소비는 200W이다. 녹화하지 않을 때에 비해 오히려 줄어들었다.

뒤쪽에 그래프를 게시할 것인데, 녹화 때문에 프레임이 줄어드니 오히려 전력소비가 감소한 것으로 추측해 볼 수 있다.

게임 플레이 + NDI 전송

Time CPU [%] GPU [%] FPS [FPS] CPU Package Power [W] GPU Chip Power [W] Power Combined
max 51.6 100 147 80.255 145.574 215.345
min 13.7 90 94 32.769 131.828 169.890
avg 39.2178947368421 99 119.326315789474 54.938 139.662978947368 194.600694736842

CPU사용량은 최대 51%, 평균 39%이다. 평균값이 GPU인코딩과 별 차이 없다.

FPS는 최대 147FPS, 최소 94FPS, 평균 119FPS이다. 편차는 53FPS.

최대 전력소비는 215W이다. 다른 컴퓨터에서 인코딩을 해야 하니 결코 적은 수치는 아니다.

차트 비교하기

단순 게임 플레이

GPU사용량에 변화가 없이 안정적이다.

CPU사용량은 FPS에 따라 조금씩 변하고 있다. 13번째~41번째 스캔에서는 FPS에 따라 낮아지고, 거의 40%이하로 유지되고 있다.

CPU 인코딩

GPU사용량이 출렁이는 지점이 많다.

CPU사용량은 거의 60%대에서 변화한다. 갑자기 CPU 사용량이 떨어지는 지점은 인코딩 과부화로 영상 출력이 끊기는 부분이었다.

전체적인 FPS그래프가 인코딩을 하지 않을 때와 비슷하다.

GPU 인코딩

GPU 사용량이 출렁이는 지점이 많다. CPU 인코딩에 비해서는 적다.

65번째~75번째 스캔에서 CPU 사용량이 크게 증가한다. 위 표에서 GPU 인코딩 중의 CPU 사용량 최댓값이 88이어서 GPU 인코딩의 장점을 부각하지 못했다. 녹화 영상이나 게임 벤치마킹에서는 별 문제가 발견되지 않았다. 인코더가 불안정하거나 다른 프로세스가 갑자기 실행된 것일 수도 있다.

꼭짓점이 부드럽다고 해야할까, 전체적인 FPS 그래프가 좀 다르다.

NDI 인코딩

CPU 사용량이 다른 인코딩에 비해 안정적이다.

GPU 사용량은 자주 출렁인다. 하지만 다른 인코딩 방식처럼 크게 떨어지지 않는다.

결론

각각의 장단점이 있다. NDI는 리소스를 분산시킬 수 있지만 전체적으로는 가장 비효율적인 방법이다. 또한 좋은 네트워크 장비가 요구된다.

GPU는 전체적으로 CPU, GPU사용량에 큰 변화 없이 인코딩이 가능하다. 프레임 감소는 제일 크다.

CPU는 전력소비는 크지만, 대체로 안정적이다. FFmpeg라는 인코더가 안정적인 것도 있지만, CPU는 리소스 분배에 있어 비교적 여유롭기 때문이다.

1인미디어 시대, 게임방송, 나도 해볼까? part.1

1인미디어 시대, 게임방송, 나도 해볼까? part.2: OBS 설정

1인미디어 시대, 게임방송, 나도 해볼까? part.3: CPU 인코딩 설정

1인미디어 시대, 게임방송, 나도 해볼까? part.4 : 비교와 결론

ASUS 라우터 퍼포먼스 최적화

2018. 2. 24. 13:00

서론

지난번에 TM-AC1900에 RT-AC68U의 펌웨어를 설치하는 방법을 알아봤습니다.

저는 Merlin펌웨어 때문에 RT-AC68U의 펌웨어를 설치했는데요.

라우터 최적화에 대한 포스트가 멀린 펌웨어를 기준으로 되어 있기에 펌웨어를 변경했습니다.

이번 포스트에서는 제가 참고했던 포스트를 번역, 정리하여 올리려고 합니다.

출처 : https://www.rickygao.com.au/blog/tuning-the-asus-wireless-router-to-best-performance/

Merlin 펌웨어는 Stock(정식)펌웨어를 기반으로 만들어져 있습니다. 때문에 정식 펌웨어가 업데이트되면 멀린 펌웨어는 정식 펌웨어를 통합합니다. 정식 펌웨어의 기능을 대부분 담고 있으니 정식 펌웨어에서도 참고할 수 있을 듯합니다.

최적화

HW NAT

제가 커스텀 펌웨어를 쓰지 않으려고 했던 이유는 하드웨어 가속을 지원하지 않아서였습니다.
HW NAT은 200Mbps이상의 기가인터넷에서는 필수입니다.

하지만 ASUS의 경우, 정식펌웨어와 멀린 펌웨어도 HW NAT을 사용하려면 조건이 있습니다.

ASUS Router의 HW NAT은 두 가지가 있습니다.

CTF only 와 CTF+FA입니다. 정식 펌웨어에서는 Level 1, Level 2로 표현됩니다.

CTF (Cut Through Forwarding): 넷 가속을 위한 소프트웨어 최적화
FA (Flow Accelerator): DHCP 또는 고정 IP 유선 연결을 위한 하드웨어 넷 가속 메커니즘

제가 500Mbps환경에서 사용해보니 CTF만 되어도 충분한 속도가 나옵니다.

순정 펌웨어 HW NAT기능표

종류 기능 메뉴 하드웨어 가속
QoS Traditional Adaptive Qos->QoS 미지원
QoS Adaptive Adaptive QoS->QoS Level 1
LAN Spanning-Tree Protocol LAN->Switch Control Level 1
해당 없음 Level 2

멀린 펌웨어 HW NAT 기능표

종류 기능 메뉴 하드웨어 가속
QoS Traditional Adaptive Qos->QoS Off
Traffic Monitor IP Traffic Monitoring Tools->Other Settings Off
QoS Adaptive Adaptive QoS->QoS Level 1
해당 없음 Level 2

*이번 편은 포스트 번역 및 요약이기에 최대한 원형을 유지했습니다.

*이 외에도 하드웨어 넷을 꺼야 하거나, Level 1만 사용해야 하는 기능이 있습니다. AI Protection, Traffic Analyzer가 이에 해당합니다.

무선

General

Wireless Mode : 무선에 사용할 모드를 선택한다. 2.4Ghz는 Turbo QAM을 사용하려면 Auto로 두어야 한다.

Control Channel : 채널 번호를 선택한다. 항상 Manual로 두고 전파 혼신을 막기 위해 주변 라우터에서 사용하지 않는 채널을 선택한다. 단, 5Ghz 채널 165는 저성능의 채널이니 피한다.

Protected Management Frames : 802.11 표준에서 지원하는 보호 모드이다. 보안성은 올라가지만 호환성은 떨어진다. 아이폰, 아이패드는 연결되는데 맥북 프로는(2016년형) 연결이 안된다.
추천 값 : Disable 또는 Capable로 둔다.

Group Key Rotation Interval : WPA그룹 키를 갱신하는 주기를 입력한다. 키를 갱신하는 동안 연결이 끊기거나 불안정해질 수 있다.
추천 값 : 0 또는 259200
필자 추천 : 1800(기본 값): WPA 인증 및 보안의 기초가 그룹 키를 통해 이루어진다. (2019.01.09개정)

WPS

보안성이 떨어지니 끈다.

Professional

고급 설정은 개인적인 경험을 다수 반영하여 출처 게시글과는 매우 다름에 유의(2019.01.09 고급 설정 전면 수정)

2.4Ghz

2.4Ghz는 신호 거리가 길고 속도가 느린 게 특징이다.

Roaming assistant : 신호가 약해지면 연결을 끊는다. 여러 개의 라우터를 사용할 때 신호가 약한 방에서 다른 라우터로 자동으로 연결되지 않을 때에 자동으로 다른 라우터로 연결되도록 하려면 사용한다.

Bluetooth Coexistence : 최근 추가된 옵션으로 보인다. 블루투스와 와이파이 모두 2.4Ghz로 작동하기 때문에 서로 혼신의 가능성이 있는데, 이걸 줄여주는 옵션이다. 주변 블루투스 연결이 끊기면 활성화 한다.

_Enable_을 선택하면 주변 블루투스 장비와 협상하여 스펙트럼을 공유한다.
_Preemptive_를 선택하면 블루투스 장치에 현재 라우터에서 사용하는 채널을 점유 중이라고 알린다. Pre-emptive모드에서는 TX-Burst모드를 지원하지 않는다. 이 기능은 블루투스 장치가 cooperate모드를 지원해야 한다.

추천 값 : Disable ; 주변 블루투스 장치가 끊기지 않으면 끈다. Pre-emptive를 우선 시도하고, 개선되지 않으면 coexistence를 켠다. 그래도 개선되지 않는다면 끈다.

Enable IGMP Snooping : 멀티캐스트 트래픽을 감시하고 IGMP를 지원한다. 라우터가 멀티캐스트 트래픽 데이터를 받으면 라우터에 연결된 모든 클라이언트에 멀티캐스트 트래픽을 보낸다. 여기서 IGMP Snooping을 통해 멀티캐스트 트래픽을 받을 클라이언트를 선택한다. 출처 글에서는 스트리밍이나 미러링 할 때에 활성화하라고 하지만 필자는 비활성화를 추천한다. 멀티캐스트는 특정 IP대역에 송출된 데이터를 말하는데 흔히 생각하는 스트리밍(동영상, 음악 스트리밍)이나 미러링(화면 미러링)은 멀티캐스트 IP대역에 송출하는 것이 아니다. 참고 : 위키피디아(멀티캐스트는 보통 IP 멀티캐스트 형태로 구현), 스윗가든리서치 그룹(블로그) (이미지 참고)
추천 값 : Disable

Preamble Type : CRC블럭의 타입을 설정한다. CRC블럭은 무선으로 송 수신한 데이터의 무결성을 체크한다. Long을 선택하면 호환성과 커버리지가 증가하고, Short를 선택하면 성능이 증가한다.
추천 값 : Long ; 2.4Ghz는 높은 성능을 위한 주파수가 아니므로 안정적인 연결이 가능한 Long을 선택한다.

AMPDU RTS : 통신 오류 조절을 개선한다.
추천 값 : Enable ; 2.4Ghz는 더 넓은 커버리지(신호가 약한 곳)에서 사용하기 위한 주파주이므로 활성화한다.

Enable TX Bursting : TX Bursting을 사용한다. b/g장치에서 더 높은 성능을 낸다.
추천 값 : Disable ; 요즘 2.4Ghz장비는 N모드를 사용한다. b/g 장치는 장치가 느리기 때문에 b/g를 위한 특별한 기능으로 리소스를 사용할 필요 없다. 껐을 때에 게임 딜레이가 감소한다는 후기가 많다.

Enable WMM APSD : 모바일 장치의 전력관리에 도움이 된다.
추천 값 : Enable

Reducing USB 3.0 Interferance : 2.4Ghz에서 더 넓은 커버리지와 성능을 낸다.
추천 값 : Disable ; USB 3.0장치를 사용하면 비활성화. 높은 성능은 5Ghz에서 필요하므로 USB 3.0위주로 설정한다.

Optimize AMPDU aggregation : AMPDU가 많으면 오류 핸들링 능력이 상승한다. 성능이 감소한다. 간섭이 많은 지역에서 사용한다.
추천 값 : Disable ; 2.4Ghz는 과포화 상태이다. 오류 핸들링을 위한 AMPDU 패킷은 많을 수록 좋다.

Optimize ack suppression : 에러를 확인할 수 있는 패킷을 줄인다. 와이파이 클라이언트의 에러 검출 결과를 기다리지 않고 다음 데이터를 전송한다. 에러가 조금이라도 있다면 Disable
추천 값 : Disable ; 위와 같은 이유. 과포화 상태이므로 혼선이 많다. 오류 검출 패킷은 많을수록 좋다.

Turbo QAM : 지원하는 클라이언트에서 높은 성능을 보여준다.
추천 값 : Enable

Airtime Fairness : 신호가 약한 장치를 희생하고 성능을 높인다.
추천 값 : Enable ; 신호가 약한 곳에서 고성능을 필요로 할 때에는 Disable

Explicit Beamforming : 빔포밍을 지원하는 장치에서 빔포밍을 사용한다.
추천 값 : Enable ; 애플 기기는 호환 문제가 있다고 하지만 그래도 더 좋은 성능을 보여준다.
Macbook Pro 15 (2016), iPad Pro 9.7 1세대, iPhone 6s Plus에서 호환 문제는 없었다.

Universal Beamforming : 빔포밍을 지원하지 않는 장치에서 빔포밍을 사용한다.
추천 값 : Enable ; 애플 기기는 호환 문제가 있다고 하지만 그래도 더 좋은 성능을 보여준다.

Tx power adjustment : 출력 크기이다. 최대치로 둔다.
추천 값 : 최댓값; 필자는 발열문제도 있고, 호기심에 출력제한을 없앤 펌웨어를 올려서 규제에 맞게 낮춰서 사용한다.

5GHz

5Ghz는 신호 거리가 짧고 속도가 빠르다.

Roaming assistant : 신호가 약해지면 연결을 끊는다. 여러 개의 라우터를 사용할 때 신호가 약한 방에서 다른 라우터로 자동으로 연결되지 않을 때에 자동으로 다른 라우터로 연결되도록 하려면 사용한다.

또는 5Ghz와 2.4Ghz의 SSID가 같아서 멀어지면 자동으로 2.4Ghz로 전환되게 하고 싶어도 사용한다.

Enable IGMP Snooping : 멀티캐스트 트래픽을 감시하고 IGMP를 지원한다. 라우터가 멀티캐스트 트래픽 데이터를 받으면 라우터에 연결된 모든 클라이언트에 멀티캐스트 트래픽을 보낸다. 여기서 IGMP Snooping을 통해 멀티캐스트 트래픽을 받을 클라이언트를 선택한다. 출처 글에서는 스트리밍이나 미러링 할 때에 활성화하라고 하지만 필자는 비활성화를 추천한다. 멀티캐스트는 특정 IP대역에 송출된 데이터를 말하는데 흔히 생각하는 스트리밍(동영상, 음악 스트리밍)이나 미러링(화면 미러링)은 멀티캐스트 IP대역에 송출하는 것이 아니다. 참고 : 위키피디아(멀티캐스트는 보통 IP 멀티캐스트 형태로 구현), 스윗가든리서치 그룹(블로그) (이미지 참고)
추천 값 : Disable

Beacon Interval : 라우터가 있다는 신호를 보내는 주기를 선택한다.
추천 값 : 1000(최대) ; 성능 개선이 있다. 호환성 문제가 있다면 기본값인 100을 사용한다. 필자는 다른 공유기와 전환하는 데에 문제가 있어서 애매한 값인 800을 사용한다.

AMPDU RTS : 통신 오류 조절을 개선한다.
추천 값 : Disable ; 5Ghz는 더 높은 성능을 위한 연결이므로 비활성화한다.

Enable TX Bursting : TX Bursting을 사용한다. b/g장치에서 더 높은 성능을 낸다.
추천 값 : Disable ; 5Ghz에는 왜 있는지 모르겠으나 성능 차이는 없는 것 같다.

Enable WMM APSD : 모바일 장치의 전력관리에 도움이 된다.
추천 값 : Enable

Optimize AMPDU aggregation : 오류 핸들링 능력이 상승한다. 성능이 감소한다. 간섭이 많은 지역에서 사용한다.
추천 값 : Enable ; 채널을 수동으로 잡아줬으니 간섭은 많지 않을 것이다.

Optimize ack suppression : 에러를 확인할 수 있는 신호를 줄인다. 와이파이 클라이언트의 에러 검출 결과를 기다리지 않고 다음 데이터를 전송한다. 에러가 조금이라도 있다면 Disable
추천 값 : Enable ; Roaming Assistant로 신호가 강한 곳에서만 사용하도록 한다면 사용해보자.

Airtime Fairness : 신호가 약한 장치를 희생하고 성능을 높인다.
추천 값 : Enable ; 신호가 약한 곳에서 고 성능을 필요로 할 때에는 Disable

Explicit Beamforming : 빔포밍을 지원하는 장치에서 빔포밍을 사용한다.
추천 값 : Enable ; 애플 기기는 호환 문제가 있다고 하지만 그래도 더 좋은 성능을 보여준다.
Macbook Pro 15 (2016), iPad Pro 9.7 1세대, iPhone 6s Plus에서 호환 문제는 없었다.

Universal Beamforming : 빔포밍을 지원하지 않는 장치에서 빔포밍을 사용한다.
추천 값 : Enable ; 애플 기기는 호환 문제가 있다고 하지만 그래도 더 좋은 성능을 보여준다.

Tx power adjustment : 출력 크기이다. 최대치로 둔다.

추천 값 : 최댓값; 필자는 발열문제도 있고, 호기심에 출력제한을 없앤 펌웨어를 올려서 규제에 맞게 낮춰서 사용한다.

유선

Switch Control

Enable Jumbo Frame : 더 큰 프레임을 보낸다. 점보프레임을 지원하지 않는 장치에서는 오히려 성능이 감소할 수 있다.
추천 값 : Disable

NAT Acceleration : 하드웨어 가속을 켠다. 끄면 Traffic Monitor가 정확해진다.
추천 값 : Auto

Spanning-Tree Protocol : 라우터 하위 컴퓨터의 구조를 파악하는 신호를 보내고 컨트롤한다.
라우터 아래에 있는 스위치가 있는 구조라면 데이터의 루프를 피하고, 최단 루트를 선택하는 데에 도움을 준다.
참고자료 : netmanias, snbforums
추천 값 : Disable ; 출처 포스트에서는 하위에 Switch가 있으면 활성화하라고 하지만 필자가 보기에는 루프구조만 아니면 필요 없다.

브라우저별 HTML5 퍼포먼스 비교(크롬, 파폭, 엣지)

2017. 5. 24. 23:38

마이크로소프트에서 만든 HTML5 페이지입니다.

https://testdrive-archive.azurewebsites.net/performance/fishbowl/

이 페이지를 통해 브라우저의 HTML5퍼포먼스를 비교했습니다.

Chrome : Cache폴더를 NTFS로 포맷한 램디스크에 할당. Xmarks, iCloud 책갈피 애드온
Firefox : Disk Cache 끄기, Memory Cache사용. Xmarks 애드온
Edge : 기본값

  • HTML5 Fishbowl 테스트가 전체적인 HTML5 퍼포먼스를 나타내지는 않습니다.
  • 마찬가지로 이 테스트가 전체적인 웹 탐색 속도를 나타내지는 않습니다.
  • 다만 Chrome을 사용하다가 Firefox설치 후에 체감속도가 상당히 좋아 Fishbowl 테스트 해보니 HTML5에서도 차이가 나타났습니다.
  • 엣지가 실 체감은 가장 좋습니다. 즐겨찾기를 아이폰과 동기화할 수 없고, 캐시 디렉터리를 옮길 수 없어서 사용하지 않습니다.
PC 스펙

Ryzen 7 1700(8C 16T) @ 3.9Ghz

RAM 32GB (Paging File OFF)


파이어폭스 : 4768
장점 : 각종 확장기능을 지원함과 동시에 가장 좋은 성능을 보임.
단점 : 실행속도가 느림.


크롬 : 2330
장점 : 가장 좋은 확장성을 보임.
단점 : 기대에 못미치는 성능을 보임. 기타 크로미움 브라우저에서도 비슷한 성능을 보임.


엣지 : 4593
장점 : 높은 성능, 가벼운 브라우저.
단점 : 확장 기능이 약함.

+ Recent posts