Elasticache / Linux 문제

Elasticache의 노드는 보통 싱글 노드당 약 50만 정도의 연결을 수립할 수 있습니다. 하지만, 리눅스 단에서 Elasticache를 연결하기 위해서는, 포트가  필요한데, 리눅스의 사용 가능 포트 기본 값은 약 5만개로 아래와 같이 확인할 수 있습니다.

| # cat /proc/sys/net/ipv4/ip_local_port_range
| 32768 60999
| # expr 60999 – 32768
| 28231

해결 방법은 아래와 같습니다.

| $ sudo sysctl -w net.ipv4.ip_local_port_range=”1024 65535″

이 방법은 재부팅 시, 없어지는 항목이므로, /etc/sysctl.conf에 아래 한 줄을 적습니다.

net.ipv4.ip_local_port_range=”1024 65535″

Python의 파이프라인 기능을 사용하면, 같은 TCP 연결에서 여러개의 요청을 보낼 수 있습니다. 아래는 예제입니다.

r = redis.Redis(host='<Elasticache_Endpoint>’, port=6379, db=0)
p = r.pipeline()

p.set(‘key1’, ‘valueA’)
p.set(‘key2’, ‘valueB’)
p.set(‘key3’, ‘valueC’)
p.set(‘key4’, ‘valueD’)
p.set(‘key5’, ‘valueE’)

p.execute()

참고하면 조금 더 잘 쓸 수 있을 거 같습니다.

 

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중