TCP 옵션 값인 MSS 값을 변경했을 때 CPU 부하에는 어떤 영향을 주나요?
mss 값을 변경해 가면서 벤치마킹 해봤는데 뚜렸한 변화를 찾기가 어렵네요.
이론적으로야 MSS가 작을 수록 CPU에 부하를 주겠지만...실제로 사양이 아주 떨어지지 않는 이상 그 정도 부하가 CPU사용률에 영향을 줄 것같지는 않습니다...
------------------------http://agbird.egloos.com
보통 이더넷 패킷사이즈가 작은게 많이 날라다니면, CPU에 부하를 줍니다. IO에 소모되는(디바이스드라이버) CPU의 잦은 컨텍스트 스위치가 그 원인이겠지요. 이를 극복하기 위해, 디바이스 드라이버를 인터럽트가 아닌 폴링방식으로 만들기도 했습니다. (고성능위해..)
IP단에서 프래그먼트를 많이 발생시키는 것이 CPU에 부하주는 첩경이겠지요.
그러나, TCP에서 MSS를 작게 만들어도 IP에서 합쳐서 보낸다면, CPU에 부하를 별로 줄것같지 않군요. 단지 성능향상을 위해 적절한 MSS를 적용하는 것은 좋아 보입니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
...
이론적으로야 MSS가 작을 수록 CPU에 부하를 주겠지만...실제로 사양이 아주 떨어지지 않는 이상 그 정도 부하가 CPU사용률에 영향을 줄 것같지는 않습니다...
------------------------
http://agbird.egloos.com
보통 이더넷 패킷사이즈가 작은게 많이 날라다니면, CPU에 부하를 줍니다
보통 이더넷 패킷사이즈가 작은게 많이 날라다니면, CPU에 부하를 줍니다.
IO에 소모되는(디바이스드라이버) CPU의 잦은 컨텍스트 스위치가 그 원인이겠지요.
이를 극복하기 위해, 디바이스 드라이버를 인터럽트가 아닌 폴링방식으로 만들기도 했습니다. (고성능위해..)
IP단에서 프래그먼트를 많이 발생시키는 것이 CPU에 부하주는 첩경이겠지요.
그러나, TCP에서 MSS를 작게 만들어도 IP에서 합쳐서 보낸다면, CPU에 부하를 별로 줄것같지 않군요. 단지 성능향상을 위해 적절한 MSS를 적용하는 것은 좋아 보입니다.
댓글 달기