소프트웨어-이야기/인프라 썸네일형 리스트형 (Phusion Passenger) 패신저에서 트래픽을 어떻게 분산시켜줄까? 패신저의 Request LoadBalancing Pushion Passenger는 프로세스를 관리하고, HTTP Request를 라우팅처리해준다.그리고 패신저는 성능 최적화를 위해 CPU 코어에 대한 처리를 분산시키거나, 응답시간을 최소화하기 위해 제일 놀고있는 프로세스에서 HTTP Request가 처리될 수 있게 해준다. 이 포스팅은 루비온레일즈에 셋팅된 패신저에서 로드밸런싱 처리를 해주는 방법에 대한 내용을 담고 있다. 루비온레일즈는 기본적으로 한 번에 한 요청을 처리한다.그래서 패신저는 어플리케이션에서 여러 프로세스들이 작동될 수 있게 해주는 역할을 한다. ( 프로세스마다 어플리케이션의 인스턴스를 하나씩 띄우는 개념인 것같다. 개발환경에서 레일즈 앱을 하나 띄우는 것처럼, 패신저가 레일즈 앱을 알아.. (Phusion Passenger) Rails + Nginx 최적화를 위한 설정값 지난주는 인프라에 이리치이고 저리치였던 주였다. ㅠㅠ 서버의 메모리 사용량에 이리치이고 저리치이면서 패신저의 프로세스 상태를 확인하고, 설정값들을 변경해줘야하는 상황들이 발생했다. 패신저란.. 레일즈애플리케이션과 웹서버를 연결해주는 중간다리쯤정도만 생각했었다. 그런데 이번주는 패신저에 대해서 더 잘 알아두면 좋을 것 같단 생각을 한 주였다. 이래저래.. 큰불들은 꺼졌지만, 까먹기전에 패신저에 대한 내용들을 찾아서 정리해보고자 한다. 아 ㅎ ㅎ ! 이 포스팅의 내용은 루비 + 엔진엑스로 패신저 조합의 이야기이다. A. 패신저 프로세스 수 조절하기 이번주는 적당한 프로세스 수를 찾기 위해 이렇게 저렇게 설정해보고, 메모리에 치이고, 리퀘스트 큐에 치이는 한주였다. 패신저에서는 프로세스 수를 동적으로 생성할 .. [HTTP] HTTP 2의 탄생 배경과 특징 팀에서 HTTP 2에 대한 내용을 간단하게 ㅎㅎ 발표하기로 했다. 그래서 준비중이다.그런데 피피티로 쓰는 것 보다 글로 정리하는게 더 나을것 같아서, 에버노트 대신 블로그에 포스팅을 하려고 한다.( 결국 이 포스팅을 읽으면서 발표했다 ㅎㅎ ) A.https://www.httpvshttps.com/이 사이트에 들어가면, HTTP 1과 HTTP2의 웹페이지 랜딩 속도를 비교해볼 수 있다.보면, HTTP2가 HTTP1보다 절반은 빠르다. HTTP2는 이전 버전에 비해, 속도 측면에서 큰 변화가 있었다. HTTP2는 보안 강화라는 특징도 갖고 있지만, 이번 시간에는 HTTP2가 웹페이지를 요청하고, 응답받을 때까지 기다려야하는 시간을 어떻게 단축했는지에 대한 내용에 집중에서 이야기하려고 한다. B. HTTP 2.. [Docker]완벽한 IT 인프라 구축을 위한 Docker 1-5 인프라에 대한 기초 지식온프레미스 : 시스템 구축에서 부터 운영까지 자사에 데이터센터를 두고 수행하는 형태를 의미한다. 1-5 인프라 구성관리에 대한 기초 지식 클라우드 시스템과 가상화 기술의 등장으로 이하여, 온프레미스에서는 구축하기 어려웠던 서버 / 네트워크을 이전보다 간단하게 구축할 수 있게 되었다. 이제는 인프라 변경이 필요할 때, 구축된 인프라를 파기하고, 새로 구축하는 것이 가능하게 되었다. 이전 처럼 인프라 변경 이력을 관리할 필요성이 줄어들었다. 이제는 현재 가동 중인 인프라 상태만 관리하면 되는 환경으로 변하고 있다. 이러한 인프라를 Immutable infrastructure (불변 인프라)라고 한다. infrastructure as code온프레미스 환경에서는 서버를 띄우려면 .. [AWS]Beanstalk이란 나는 1년정도 BeanStalk을 사용하고 있다. 처음에는 BeanStalk가 어떤 역할을 하는 서비스인지 궁금해서 찾아봤었는데, 이해가 잘 되지 않았었다. 그래서 내가 경험한 빈스톡에 대해서 정리해보고자 한다. BeanStalk이란? 빈스톡은 Docker 컨테이너를 기반으로 애플리케이션을 쉽게 배포하고, 운영하고, 관리하는걸 도와주는 AWS 서비스다. 별도의 서비스 사용료는 없고, 사용한 AWS 리소스 만큼 비용이 과금된다고 한다. 특징 초기 세팅기본적으로 필요한 환경을 몇번의 클릭으로 서버 셋팅을 할 수 있다.- 예를 들면 원하는 루비 버전과 패신저를 설정하면, 인스턴스에 직접 들어가서 설치하지 않아도 빈스톡이 알아서 환경을 구성해준다. - 그런데 최신 버전의 언어를 지원하지 않는 경우도 있다. 이런.. [Docker]docker에서 bundle 데이터가 캐싱되는 상황 개발 / 테스트 환경을 위한 서버에 도커로 레일즈를 올릴 때, 수정 사항이 생길 때마다 배포를 하게 된다. 이 때, bundle install이 매번 실행되면 gem들이 설치될 때까지 매번 기다려야 한다. 그래서 레일즈 개발하는 분들이 아래의 페이지처럼 bundle install을 통해 생성된 gem들을 이미지로 묶어버리는 방법을 찾아 정리해두었다. http://ilikestuffblog.com/2014/01/06/how-to-skip-bundle-install-when-deploying-a-rails-app-to-docker/ 이렇게 Dockerfile을 수정해줘야 한다 저기.. Gemfile을 ADD해주고... bundle install을 해주는 부분을 추가해줘야한다. 한번 Dockerfile을 돌렸.. [리눅스/유닉스] 신입 소프트웨어 엔지니어에게 유용한 명령어 나에게 에버노트는 개발 비법 같은 존재이다 ㅎㅅㅎ 내 에버노트가 사라진다면, 나 또한 사라질 것이다 ㅎㅅㅎ ...오늘은 내 에버노트에서 꾸준히 찾아보는 한 게시물을 블로그로 옮겨볼까 한다. 오늘의 주제는 리눅스 / 유닉스 환경에서 유용한 명령어 정리이다.나같은 리눅스 / 유닉스 환경을 1도 몰랐던... 신입 or 왕초보에게는 유용한 명령어이다 ㅎㅅㅎ 데이터 처리에 유용한 명령어 1. CSV 파일 길이 보기 wc -l 파일명.csv일을 하다보면 데이터를 CSV 파일에 저장해서 사용하고는 한다. 특히, 운영성 업무에서는 데이터를 전달할 때 CSV 파일을 사용하고는 하는 데, 이때 내가 전달하는 데이터의 크기가 몇인지, 길이가 얼마나 되는지 궁금할 때가 있다.이때 'wc -l 파일명' 명령어를 사용하면 손쉽게.. 이전 1 2 3 4 5 다음