728x90

HTTP/2 시대가 시작되면서 다양한 성능 개선을 위한 사례들을 요즘 찾아보고 있습니다. QUIC 도 그중 하나이고 TCP Fast Open 이라는 표준 역시 살펴봐야 할 사례인 것 같습니다. 공부할 건 많고 시간은 없고 머리는 안돌아가고... 그래도 일단 필요한 링크들을 모아봅니다. 먼저 공부하시는 분들이 계시다면 정리해서 공유를... 굽신...


# TCP Fast Open - TCP 의 3 way handshake 로 발생하는 RTT 및 Latency 의 한계를 극복하려는 노력 / Handshake 할때부터 컨텐츠를 담아 전달해 보자는 것이 요지.



출처 : 구글 기술문서 (아래의 링크5)



링크1 - RFC 7413 - TCP Fast Open (Experimental) : https://tools.ietf.org/html/rfc7413

링크2 - Cent OS 7 + nginx 환경에서 TCP Fast Open 활성화 하기 : https://goo.gl/pRmWZO

링크3 - TCP Fast Open 위키피디가 : https://en.wikipedia.org/wiki/TCP_Fast_Open

링크4 - curl 7.49.0 의 특정 운영체제 버전에서 옵션 제공 : https://curl.haxx.se/libcurl/c/CURLOPT_TCP_FASTOPEN.html

링크5 - 구글에서 발표된 기술 문서 : http://goo.gl/rz1sqX

링크6 - Keycdn 의 아티클 (일종의 요약) : https://www.keycdn.com/support/tcp-fast-open/


- NoPD -

728x90
728x90

가끔 사용중인 리눅스 배포판의 버전과 커널의 버전 확인이 필요할때가 있습니다. 워낙에 배포판도 많고 커널의 버전도 다양하기 때문에 환경에 적합하게 구성된 패키지를 설치하지 않는 경우 이슈가 생길수도 있기 때문이지요. yum 이나 apt-get 으로 설치하는 경우에는 별 문제가 없겠지만 별도로 어플리케이션을 다운로드 받거나 빌드할 필요가 있을때는 버전을 잘~ 맞추어줄 필요가 있습니다.


Cent OS 를 이용하는 경우 아래와 같은 명령을 이용해서 운영체제의 버전과 커널의 버전을 확인할 수 있습니다. redhat 과 같은 다른 배포판 역시 비슷한 네이밍 컨벤션을 사용하고 있기 때문에 해당 폴더에서 어렵지 않게 관련된 파일을 확인할 수 있으니 참고하시기 바랍니다. 자꾸 까먹게 되어 블로그에 기록해 둡니다. 누군가에겐 또 도움이 되리라 믿으며..!!



#cat etc/centos-release

#uname -r 



728x90
728x90

CentOS 환경에서 NPM (node package manager) 와 node.js 를 설치하는 방법을 정리해 봅니다. 환경 셋업을 자주 하지 않다보니 필요할때마다 겪는 시행착오를 줄이기 위해서 블로그에 적어둡니다 ^^;; 주기적으로 디지털 오션을 통해서 서비스 받고 있는 뉴욕 가상머신과 싱가폴 가상머신을 깨끗하게 정리하곤 합니다. 왠지 대청소를 하는 기분이라... 이렇게 해놓고 나면 바로 밀려오는 것이 패키지 설치에 대한 귀차니즘이죠.


간단한 테스트를 할일이 있어 DNS 셋업을 하고보니 가상머신에 아무런 패키지도 설치되지 않은 클린 설치라는 것을 발견했습니다. 이미지를 구워 놓아도 되련만, 그 이미지 조차도 왠지 찜찜해서 종종 하는 작업이 왠지 모르게 아깝게 느껴집니다. 오늘 정리하는 내용은 CentOS 에서 (버전은 6.7 입니다) yum repository 를 업데이트하고 nodejs, npm 을 설치하는 방법입니다.


# sudo yum install epel-release


yum 에 설정된 기본 repository 에는 nodejs 와 npm 이 존재하지 않습니다. 대신 epel repository 에 존재하는데요, epel repository 를 사용하기 위해서 위의 명령으로 epel 을 이용할 수 있도록 해봤습니다.


# yum install nodejs npm --enablerepo=epel


yum 명령으로 nodejs 와 npm 을 한번에 설치해 보겠습니다. 새롭게 준비한 epel repository 를 이용하기 위해서는 yum 옵션으로 --enablerepo=[repository이름] 을 지정해 주셔야 합니다. 위의 커맨드처럼 입력하시면 되겠죠? 약간의 시간이면 두 패키지와 종속된 패키지들이 모두 설치가 완료됩니다. 중간중간 인터렉티브하게 물어보는 질의에는 y 를 눌러주시면 됩니다. 


# npm install -g n


간편한 nodejs 버전 관리를 위해서는 n 을 설치해 주어야겠지요? 이제 npm 이 생겼으니 npm install -g n 명령으로 n 을 설치해 줍니다. 다른 지역의 가상머신과 node.js 버전을 맞춰주기 위해서 4.4.2 버전을 설치했습니다. 


# n 4.4.2


     install : node-v4.4.2

       mkdir : /usr/local/n/versions/node/4.4.2

       fetch : https://nodejs.org/dist/v4.4.2/node-v4.4.2-linux-x64.tar.gz

######################################################################## 100.0%

   installed : v4.4.2


간단한 테스트를 해보기 위해서는 node.js 의 핵심 패키지가 필요하겠죠. express 패키지가 그나마 익숙해서 요것까지 설치를 했습니다. 


# npm install -g express


- NoPD -

728x90

+ Recent posts