컴퓨터 연구/Linux

네트워크 성능 개선 방법

이재만박사 2015. 7. 20. 17:30

- 성능 측면에서 virtio 네트워크 어댑터는 Intel PRO/1000 보다 선호된다

  이것은 어댑터들 중에서 PCNet 종류가 선호된다.

- virtio와 Intel PRO/1000의 어댑터들은 세그멘테이션과 offloading 체크섬의 이익을 즐긴다.

  Segmentation offloading은 컨텍스트 스위칭이 덜하고, 

  VM/호스트 경계를 가로지르는 패킷의 사이즈가 

  급격하게 증가되는 것을 허락하기 때문에 고성능을 위해 필수적이다

- 3개의 타입(internal, bridged and host-only)은 거의 동일한 성능을 가진다

- internal 타입은 조금 더 빠른데 호스트의 네트워크 스택에 

절대 접근하지 않을 만큼의 패킷으로 CPU 사이클을 덜 사용하기 때문이다

- NAT 접근은 네트워크 주소 변경(network address translation)을 

  제공하기 때문에 모든 타입들 중에서 가장 느리다

 - VM에 할당된 CPU의 수는 네트워크 성능을 개선시키지 않는다

   어떤 경우에는 게스트에서 증가된 동시성 때문에 더 느릴 수 있다


네트워크 성능을 개선시키지 위한 짧은 요약

1. 가능할 때마다 virtio 네트워크 어댑터를 사용해라, 그렇지 않으면 Intel PRO/1000 어댑터 중에 하나를 사용해라

2. NAT 대신에 bridged 접근을 사용해라

3. 게스트 OS에서 Segmentation offloading이 사용 가능한지 확인해라

   그것은 보통 디폴드로 설정 되어 있다

   offloading 설정을 변경하거나 확인하고 싶으면 리눅스 게스트에서 ethtool 명령어를 사용해라