기가비트 네트워크 관련 질문..

정희섭   
   조회 5072   추천 0    

일단 환경은
PC1 -> 애슬론 X2 5000+ (2.6GHz * 2) , PC2-6400 2GB * 2
랜카드는 RTL8169 입니다
PC2 -> 애슬론XP 3200+ (바톤이죠 ^^ 이번에 입양했죠) , PC-3200 512MB * 1
랜카드는 PRO/1000GT 입니다

꽃게댁께 시퓨 점유율을 더 먹을거 같아서 성능 높은쪽으로 달아놨는데요

PC1 은 윈도우XP , PC2 는 젠투리눅스 깔았습니다

iperf 로 속도를 측정하는데 열받게시리 30MB/s 밖에 안나오더군요.
그래서 옆에 있는 버퍼를 16메가를 잡았더니 40MB/s가 나오는겁니다.... wtf!?

뭔가 수상해서 시퓨 점유율을 살펴보니 한쪽 코어를 100% 잡아 드시더라구요. 정작 iperf 자체는 다른쪽 코어에서 놀고있고...

여기서 질문좀 드리겠습니다.

1. 도대체 2.6GHz 라는 자원을 왜 소모하는걸까요?

2. 버퍼를 늘리면 속도가 올라가는 이유는?

3. 혹시 드라이버 문제일까요?

4. 꽃게택이 아닌 인텔이나 마벨 NIC 을 쓰면 상황이 좋아 질까요?
짧은글 일수록 신중하게.
김동수(PE) 2009-03
1. 리얼텍 카드 같이 저가형 카드는 각 패킷에 대한 체크섬 연산 같은 종류의 작업들을 모두 CPU에 일임합니다. (비싼 카드들도 그런 경우가 있음..) 그래서 cpu점유율이 높게 올라갑니다.

2. I/O 병목 때문에 그렇습니다. 일정 이상 크기로 버퍼를 키우면 속도 향상의 여지는 없습니다.

3. 원래 그렇습니다.

4. 인텔 서버닉 같은 녀석을 쓰면 좀 개선이 가능하죠.

덤으로 윈도우 서버에서는 NDIS 커널의 한계로 패킷 쓰루풋이 제한되어 있습니다. 특별한 튜닝을 거치지 않으면 윈도우 계열 OS에서는 커넥션당 30~40mb/s 로 실제 속도가 제한되는게 일반적입니다. 혹자는 디스크 성능이 느려서 병목현상이 걸린다 라고 하시지만, 다른 이야기입니다.
정희섭 2009-03
감사합니다 ^^

30~40 나오는건 커널 자체 문제군요... 리눅스쪽에서 테스트 해봐야 겠네요


QnA
제목Page 2746/5710
2014-05   5156346   정은준1
2015-12   1690684   백메가
2024-04   1583   kimjang
2005-05   6199   박기현
2024-05   1581   뚜뚜김대원
2014-01   5790   Cello
2002-05   17351   정은준
2008-03   5801   이덕희
2011-09   6351   아름다운노을
2017-06   3251   일반유저
2018-09   3435   동행큐브
2005-05   5793   조용주
2014-01   4771   남은종
2016-07   4388   이지포토
2017-06   3433   메가날백
2018-09   3217   방o효o문
2014-01   6553   HEUo김용민
2002-07   14223   정규철
2008-04   5803   남찬우
2015-05   4124   일리케
2005-06   5860   이철호
2015-06   5782   박현근