본문 바로가기
서버/리눅스 서버

[오드로이드XU] 기가비트 최고속도 뽑기

by 도정진 ㅋㅋ잠자 2014. 12. 20.
728x90

안녕하세요 도정진입니다.

   

기가비트에 대한 갈망. 이제 여기서 끝내려고 하네요.

   

   

실제로 블루님 말씀대로. 기가빗의 속도를 잘 뽑아내려면

   

디스크 = SATA, USB3.0

랜 (네이티브, NOT USB)

   

여야 가능하다는 것이죠 ㅎ USB 로 묶은 랜카드와 디스크의 경우 대역폭 병목 현상이 나타나기 때문에 실제로 기가빗의 성능을 기대하기란 정말 어렵다는 겁니다.

   

실제로 오드로이드 XU의 경우도 USB3.0 포트를 통해서 랜카드와 외장하드를 공유하고 있는 상태입니다. 어쩔 수 없이 병목현상이 나타나긴 하지만 이것을 최소한 완화하여 , 혹은 운영체제 최적화를 하여서 속도를 뽑아보려고 하는 것입니다.

   

그럼 바로 시작합니다.

   

   

   

   

   

1. 걍 기가빗 속도

   

테스트 사진은 없습니다만 35MB/s 정도로 속도가 나옵니다.

   

   

   

   

   

   

2. Sysctl 수정하기

   

/etc/sysctl.conf 파일을 수정합니다. 실제로 nano로 해도 되고 vim을 쓰셔도 되고 저는 편하게 WinSCP 를 사용하기로 결정을 하였습니다.

   

net.core.rmem_max = 2801664

net.core.wmem_max = 2097152

   

net.ipv4.tcp_rmem = 4096 87380 2801664

net.ipv4.tcp_wmem = 4096 16384 2097152

   

net.ipv4.tcp_timestamps = 0

net.core.optmem_max = 65535

net.core.netdev_max_backlog = 5000

이 값을 맨 하단에 집어 넣습니다.

   

   

이 값이 최적화된 값인지는 잘 모르겠습니다만 외국 포럼에서는 그렇다고 하니 이 값을 적용 시켜 보았습니다.

   

   

   

   

   

   

3. 랜카드 최적화 하기

   

먼저 ifconfig 을 통해 지금 사용하고 있는 네트워크를 확인해 주시길 바랍니다.

   

   

이렇게 저는 eth3 를 사용하고 있습니다.

   

실제로 오드로이드에는 이미 100mbps 대역폭인 랜카드가 달려 있습니다. 부팅 과정 중 랜카드 순서가 바뀌어 짜증이 나서 이렇게 3번으로 설

정하였습니다. 설정은 아래를 참고하세요.

   

# USB device 0x:0x (ax88179_178a)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:3b:99:2a:1f", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

   

   

위의 위치로 가서 위 파일을 열어보시면 컨피그가 있을 껍니다. 원하는 숫자로 해주세요 ㅎ

   

   

그리고 랜카드가 이름이 바뀌지 않도록 설정이 다 되었다면

   

아래의 명령어를 통해서 txqueuelen 과 sg, tso 설정을 합니다.

   

ifconfig eth3 txqueuelen 1000000000

ethtool -K eth3 sg on tso on

   

txqueuelen 은 송신할 때의 큐 값이며 큐가 가득찰 경우 데이터 손실이 일어날 수 있으니 크면 좋습니다. 여기서 크게 설정하는 이유는 속도향상을 위한 것입니다.

너무 크면 메모리를 많이 잡아먹기는 하는데 실제로 그런 일은 없었네요.

   

   

그리고 두번째 설정은 네트워크 관련 설정을 하는 것으로 실제로 이것을 하면 빨라진다고는 하는데 이론적인 부분은 잘 모르겠습니다.

   

   

   

   

   

   

   

4. 삼바 설정 최적화 하기

   

/etc/samba/smb.conf 파일을 수정하고 아래에 아래의 내용을 붙여넣습니다.

### Performance Settings

strict allocate = Yes

read raw = Yes

write raw = Yes

strict locking = No

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072

min receivefile size = 0

use sendfile = true

aio read size = 0

aio write size = 0

oplocks = yes

max xmit = 65535

max connections = 8

deadtime = 15

   

이렇게 하신 후 저장을 하고 삼바 서비스를 재시작 해 줍니다.

   

   

   

service smbd restart

   

   

   

   

   

   

   

5. 테스트 해보기

   

   

기본적으로 속도가 69 ~ 77 을 오르락 내리락 합니다. 이 이상 속도는 얻을 수가 없었네요.

   

   

   

감사합니다. 짧게 세팅기를 마칩니다.

728x90

댓글5