티스토리 뷰

Developer

[ UDP ] packet buffer size 조절

rocksea 2012. 7. 20. 21:58

Linux에서 Session Clustering 설정 할 경우 buffer size가 부족해서 time out 나는 경우가 있었습니다.


그래서 설정하는 방법에 대해 정리해 보았습니다.


step 1. 현재 설정 값 조회

# sysctl -a | grep mem

net.core.wmem_max = 1048576
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.rmem_default = 262144
net.core.optmem_max = 20480
net.ipv4.igmp_max_memberships = 20
net.ipv4.tcp_mem = 193131    257511    386262
net.ipv4.tcp_wmem = 4096    16384    4194304
net.ipv4.tcp_rmem = 4096    87380    4194304
net.ipv4.udp_mem = 193131    257511    386262
net.ipv4.udp_rmem_min = 4096
net.ipv4.udp_wmem_min = 4096


step 2. 값 변경

# vi /etc/sysctl.conf

.

.

.

.

#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#

net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 26214400
net.core.wmem_default = 262144
net.core.wmem_max = 1048576


step 3.  값 적용

rocksea ~ # sysctl -p /etc/sysctl.conf


net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 26214400
net.core.wmem_default = 262144
net.core.wmem_max = 1048576


위와 같이 적용 된 것을 확인 해 볼 수 있습니다.

참고로

wmem은 send

rmem은receive

라고 보시면 됩니다.


자세한 옵션 설명은 아래 주소  참조

http://blog.naver.com/bycymon?Redirect=Log&logNo=100019747080

by rocksea.







댓글